Ich habe ein Bash-Skript wie:
#!/bin/bash
echo Hello world!
Wie führe ich das in Terminal aus?
$Prompt: /path/to/script
und drücken Sie die Eingabetaste. Beachten Sie, dass Sie sicherstellen müssen, dass das Skript Ausführungsberechtigungen hat.
Noch eine weitere Möglichkeit, es auszuführen (diesmal ohne Ausführungsberechtigungen festzulegen):
bash /path/to/scriptname
Du könntest es tun:sh scriptname.sh
cd in das Verzeichnis, das das Skript enthält, oder legen Sie es in einem bin-Ordner ab, der sich in Ihrem $ PATH befindet
dann tippen
./scriptname.sh
wenn im selben Verzeichnis oder
scriptname.sh
wenn es im bin Ordner ist.
Zuerst müssen Sie es ausführbar machen mit: chmod +x name_of_your_file_script
.
Nachdem Sie es ausführbar gemacht haben, können Sie es mit ./same_name_of_your_file_script
ausführen.
Ändern Sie Ihr Verzeichnis in wo sich das Skript befindet, indem Sie den Befehl cd verwenden
Dann tippen Sie
bash program-name.sh
Dies ist ein alter Thread, aber ich bin darüber gestolpert, und ich bin überrascht, dass noch niemand eine vollständige Antwort gefunden hat. Also, hier geht's ...
F: Wie führe ich das im Terminal aus?
Verwirrungen und Konflikte:
Sudo
, um dies zu tun. Dieser Befehl ist für die Ausführung von Befehlen als anderer Benutzer oder als Root-Benutzer (Administrator) reserviert. Toller Beitrag hier .(Eine Person, die gerade lernt, wie man Skripte ausführt, sollte diesen Befehl nicht verwenden, es sei denn, es besteht eine wirkliche Notwendigkeit, wie das Installieren eines neuen Programms. Ein guter Ort zum Ablegen Ihrer Skripte ist in Ihrem Ordner ~/bin. Sie können Um dorthin zu gelangen, geben Sie an der Eingabeaufforderung des Terminals cd ~/bin
oder cd $HOME/bin
ein. In diesem Ordner sind alle Berechtigungen vorhanden.)
Um dieses Skript über das Terminal auf einem Unix/Linux-System auszuführen, müssen Sie drei Schritte ausführen:
Teilen Sie dem System den Speicherort des Skripts mit. (wähle eins aus)
/path/to/script.sh
). Sie können den vollständigen Pfad überprüfen, indem Sie im Terminal pwd
oder echo $PWD
eingeben../
als Pfad (z. B. ./script.sh
). Einfach.PATH
und geben Sie einfach den Namen ein (z. B. script.sh
). Sie können das System PATH
überprüfen, indem Sie echo $PATH
oder echo -e ${PATH//:/\\n}
eingeben, wenn Sie eine übersichtlichere Liste wünschen.Teilen Sie dem System mit, dass das Skript zur Ausführung berechtigt ist. (wähle eins aus)
chmod +x /path/to/script.sh
eingeben.chmod 755 /path/to/script.sh
verwenden, wenn Sie Zahlen bevorzugen. Es gibt eine großartige Diskussion mit einem coolen Chart hier .Teilen Sie dem System den Typ des Skripts mit. (wähle eins aus)
BASH /path/to/script.sh
oder PHP /path/to/script.php
) Wenn das Skript eine Erweiterung wie .php oder .py hat, ist sie Teil des Skriptnamens, und Sie müssen ihn einschließen.#!/bin/bash
) in Ihrem Beispiel. Wenn Sie das als erste Zeile Ihres Skripts haben, wird das System dieses Programm verwenden, um das Skript auszuführen. Sie müssen keine Programme eingeben oder Erweiterungen verwenden.PATH
enthalten ist, indem Sie #!/usr/bin/env
gefolgt vom Programmnamen (z. B. #!/usr/bin/env bash
oder #!/usr/bin/env python3
) verwenden. Es gibt Vor- und Nachteile, wie ausführlich besprochen hier .Wenn Sie sich in einem Verzeichnis oder Ordner befinden, in dem die Skriptdatei verfügbar ist, ändern Sie einfach die Dateiberechtigung im ausführbaren Modus, indem Sie "chmod + x Ihr_Dateiname" verwenden. Danach führen Sie das Skript mit dem folgenden Befehl aus "$ Sudo ./Ihr_Dateiname.sh"Above". " repräsentieren das aktuelle Verzeichnis . Hinweis! Wenn Sie sich nicht in dem Verzeichnis befinden, in dem sich die Bash-Skriptdatei befindet, ändern Sie das Verzeichnis, in dem sich die Datei befindet, indem Sie den Befehl "cd Verzeichnisname/vollständigen Pfad schreiben" verwenden. Andernfalls kann Ihr Skript nicht ausgeführt werden.