Wenn ich eine .sh-Datei öffne, wird sie in gedit anstelle des Terminals geöffnet. Ich kann keine ähnliche Option finden wie Rechtsklick → Öffnen mit → Andere Anwendung ... → Terminal .
Wie öffne ich diese Datei im Terminal?
Wenn ich eine .sh-Datei öffne, wird sie in gedit anstelle des Terminals geöffnet. Ich kann keine ähnliche Option finden wie Rechtsklick → Öffnen mit → Andere Anwendung ... → Terminal .
Wie öffne ich diese Datei im Terminal?
ruby foo.rb
Antworten:
Erteilen Sie die Ausführungserlaubnis für Ihr Skript:
Und um dein Skript auszuführen:
Da
.
sich auf das aktuelle Verzeichnis bezieht: Wennyourscript.sh
es sich im aktuellen Verzeichnis befindet, können Sie dies vereinfachen, um:quelle
bash /path/to/yourscript.sh
dann brauchen Sie nichtchmod +x
. /path/to/yourscript.sh
wenn das Skript einige Umgebungsvariablen einrichten muss../path/to/yourscript.sh
(ohne das Leerzeichen danach.
)? Ich finde, eines ist am einfachsten und am einfachsten zu bedienen ... Aber auf jeden Fall ist hier meine Alternative, die fast das Gleiche tun sollte./
, obwohl ich nicht verstehe, warum Sie Folgendes nicht verwenden würden./
:(FILENAME=~/rem4space.sh;SLL=$(cat $FILENAME|head -1|sed 's:^#!\(.*\):\1:g');[ ! -z $SLL ] && exec $SLL $FILENAME;sh $FILENAME)
...FILENAME
nach Ihren Wünschen bearbeiten . Beachten Sie auch, dass verwendetsh
wird, wenn es keine Alternative gibt.Sie müssen Shell-Skripte als ausführbar markieren, um sie über den Dateimanager ausführen zu können:
Klicken Sie mit der rechten Maustaste auf Ihre
.sh
Datei und wählen Sie Eigenschaften :In der Berechtigungen Registerkarte überprüfen zulassen Datei als Programm ausgeführt wird :
Schließen Sie das Eigenschaftenfenster und doppelklicken Sie auf die Datei. Ein Dialogfeld wird eingeblendet, in dem Sie das Skript in einem Terminal ausführen können:
quelle
Öffnen Sie ein Terminal und navigieren Sie zu dem Ordner, in dem sich die
.sh
Datei befindet. Dann tippe:quelle
Voraussetzung
Bevor Sie die .sh-Datei ausführen können, müssen Sie sie ausführbar machen:
Warnung
Stellen Sie sicher, dass Sie der Quelle vertrauen, von der Sie die Datei bezogen haben. Es könnte ein Virus sein .
Der sehr einfache Weg
Das hat ein Problem. Das Terminal wird sofort geschlossen und Sie können die Ausgabe nicht sehen.
Der einfache Weg
So wie Profis es machen
Finden Sie, wo die .sh-Datei
ls
undcd
ls
listet die Dateien und Ordner im aktuellen Ordner auf . Probieren Sie es aus: Geben Sie "ls" ein und drücken Sie die Eingabetaste.cd
, gefolgt von einem Leerzeichen und einem Ordnernamencd ..
um eine Ebene nach oben zu wechselnFühren Sie die SH-Datei aus
Sobald Sie zum Beispiel
script1.sh
mitls
ausführen können, sehen Sie Folgendes:Warum kompliziert?
Das Terminal verfügt über zahlreiche leistungsstarke Tools, auf die Sie durch Eingabe der Befehle zugreifen können. Profis suchen die .sh-Datei, indem sie
ls
und eingebencd
. Sobald Sie sich im richtigen aktuellen Ordner befinden , können Sie das Skript folgendermaßen ausführen:oder Sie können die Ausgabe ausführen und in eine Datei umleiten:
oder Sie können die Ausgabe nach Stichwörtern filtern (zB "Äpfel") und dann in eine Datei umleiten:
Es gibt Tausende von Dingen, die Sie an dieser Datei vornehmen können, indem Sie nur ein paar Befehle eingeben.
Mit einem weiteren einfachen Befehl können Sie eine Datei aus dem Internet herunterladen:
Und dann öffne die Datei wie folgt:
quelle
Unter Ubuntu 13.04 werden in Nautilus geöffnete ausführbare Dateien jetzt standardmäßig in gedit geöffnet, anstatt den Benutzer zur Ausführung aufzufordern. Um das klassische Verhalten zu aktivieren, müssen Sie die Einstellungen anpassen:
Nautilus → Menü Bearbeiten → Einstellungen → Registerkarte Verhalten → Aktivieren Sie das Optionsfeld bei Jedes Mal fragen.
quelle
Wechseln Sie in das Verzeichnis, in dem sich die
.sh
Datei befindetcd
. In diesem Beispiel habe ich meinesh
Datei als gespeichert~/Desktop/shell_practice/test.sh
Zuerst müssen Sie
pwd
herausfinden, wo Sie sich gerade befinden. Wenn dies der Fall ist/home/username
(wousername
ist Ihr echter Benutzername?), können Sie ausführenWenn Sie woanders zu sein scheinen, können Sie den absoluten Pfad verwenden
oder
oder auch
Dies sind alles Möglichkeiten, um den gleichen Ort zu beschreiben. Sobald Sie den Speicherort Ihres Skripts erreicht haben, geben Sie Folgendes ein
Wenn Sie die
sh
Datei in der Ausgabe sehen können, können Siechmod
sie ausführbar machen. Denken Sie in meinem Fall daran, dass der Dateiname so lautettest.sh
, dass ich ausführen würdeDa wir uns jetzt im selben Verzeichnis wie das Skript befinden, müssen wir der Shell angeben, dass die Datei ausgeführt werden soll, indem wir ihren Speicherort angeben
./
(das aktuelle Verzeichnis, gefolgt von einem Pfadtrennzeichen, um sie vom Dateinamen zu unterscheiden). Um meine Datei auszuführen, würde ich Folgendes eingeben:Wenn Ihr Skript korrekt geschrieben wurde, wird es ohne Fehler ausgeführt ...
Hier ist ein Live-Beispiel:
quelle
2 Hauptschritte.
Verwenden Sie im Terminal gedit, um ein Skript mit der Erweiterung ".sh" auf dem Desktop zu schreiben und zu speichern. (aber jeder Texteditor kann benutzt werden)
öffne Nautilus und klicke mit der rechten Maustaste auf die Datei script.sh.
Aktivieren Sie unter "Eigenschaften" das Kontrollkästchen "Ausführen der Datei zulassen".
Klicken Sie im Nautilus-Menü auf Datei, dann auf Einstellungen und dann auf Verhalten
Überprüfen Sie die Option "Ausführbare Textdateien beim Öffnen ausführen".
Wenn Sie nun auf die Datei auf dem Desktop doppelklicken, sollte sie ausgeführt werden. keine Notwendigkeit für
.
oder./
quelle
Klicken Sie mit der rechten Maustaste auf die
.sh
Datei und machen Sie sie ausführbar.Öffne ein Terminal ( Ctrl+ Alt+ T).
Ziehen Sie die
.sh
Datei in das Terminalfenster und beobachten Sie sie mit Ehrfurcht.quelle
Hierfür gibt es verschiedene Möglichkeiten.
Option 1
Greifen Sie im Terminal auf das Verzeichnis zu, in dem sich die Bash-Datei befindet
cd
(Verzeichnis wechseln).Ex.
cd Downloads
Lauf
bash <filename>.sh
Dies funktioniert auch mit .run-Dateien. Ein Beispiel für diese Verwendung finden Sie auf dieser Webseite zum Aktualisieren der Rhythmbox.
Option 2
Navigieren Sie im Terminal zu dem Verzeichnis, in dem sich die Bash-Datei befindet.
Lauf
chmod +x <filename>.sh
Öffnen Sie die Datei in Nautilus.
quelle
Für Ubuntu 18.04 gibt es eine kleine Änderung, da kein Popup-Dialogfeld angezeigt wird.
Was Sie also tun müssen, ist:
Klicken Sie mit der rechten Maustaste auf "Dateien", wählen Sie "Einstellungen"> "Registerkarte" Verhalten ">" Nachfragen "unter" Ausführbare Textdatei ".
Wenn Sie nun auf eine .sh-Datei doppelklicken, wird ein Popup-Fenster angezeigt. Dort können Sie die Option "Im Terminal ausführen" auswählen, um Ihre .sh-Datei auszuführen.
quelle
In Ubuntu 16.04 ist dies, wie man es in Terminal öffnet:
Zur die
File Manager > Edit > Preferences > Behavior
für einExecutable Text Files
und wählen SieAsk each time
.Das Problem ist, dass es standardmäßig auf eingestellt ist
View Executable Files when they are opened
.quelle
Wenn Sie Ihr Shell-Skript oder eine andere ausführbare Datei, die Sie erstellt haben, in / usr / local / bin ablegen, wird es gefunden und ausgeführt, ohne dass ein Ordnerpfad in der Befehlszeile angegeben oder dem Namen ./ hinzugefügt werden muss. Zum Beispiel habe ich das folgende einfache dreizeilige Bash-Skript erstellt, um Festplatten-UUIDs anzuzeigen:
Ich habe die Datei uuid aufgerufen und in / usr / local / bin abgelegt. Alles was ich in der Kommandozeile eingeben muss ist:
quelle
Nun, auch ich hatte das gleiche Problem. Ich wollte die .sh-Datei ausführen und sie wurde unter CentOS 7 mit Gedit geöffnet.
.sh
Datei, die ich ausführen wollte.quelle
Das Problem, das ich bei einigen Distributionen festgestellt habe, ist, dass sie die Voreinstellungsoption in Nautilus ausgeblendet haben, aber es ist dasselbe, sie in Ubuntu und anderen Distributionen mit Gnome3 zu beheben (ich habe buchstäblich nur die Fedora-Version davon gemacht und das eigentliche Update veröffentlicht, um mich daran zu erinnern wie in der Zukunft).
Installieren
dconf-editor
Führen Sie
dconf-editor
das Programm mit dem Benutzerkonto aus, für das Sie dies möchten, dh NICHT rootNavigieren Sie zu folgendem Schema:
org.gnome.nautilus.preferences
Ändern Sie die Standardoption so, dass sie nicht standardmäßig geöffnet wird:
Suchen
executable-text-activation
Sie auf das Wortdisplay
und wechseln Sie zuask
Dadurch haben Sie die Möglichkeit, die Datei in Zukunft zu bearbeiten, anzuzeigen oder auszuführen
quelle
Ich bin ein Neuling in Linux und hatte nur das gleiche Problem. Wenn alle Stricke reißen:
quelle
Sie können auch
.
Tricks anwenden und andere Antworten vorschlagen.Zum Beispiel:
chmod +x filename.sh
Unter der Annahme, dass Sie bereits den Pfad zur Datei angegeben haben, führen Sie die Datei mit einem der folgenden Befehle aus:quelle