So führen Sie .sh unter Linux aus

Unter Linux sind Dateien mit der Dateinamenerweiterung .sh normalerweise Shell-Skripte, also Programme, die von der Befehlsshell interpretiert werden. Shell-Skripte müssen keine Dateinamenerweiterung haben. Tatsächlich können sie überhaupt beliebig benannt werden. Aus historischen Gründen haben sie jedoch oft die Endung .sh.

Shellskripte ausführbar machen

Shell-Skripte müssen als ausführbar markiert werden, bevor Sie sie ausführen können. Sie können die Berechtigungen einer Datei, auch Dateimodus genannt, überprüfen, indem Sie mit dem Befehl ls -l eine lange Verzeichnisliste anzeigen. Wenn Sie den Dateinamen angeben, erhalten Sie die Informationen nur für diese Datei. Hier haben wir zum Beispiel eine Datei namens somefile, und wir sehen uns die Berechtigungen mit dem Befehl ls -l somefile an:

So führen Sie .sh unter Linux aus

Die zehn Zeichen “-rw-r–r–” repräsentieren den Dateimodus von somefile. Weitere Informationen zu Dateiberechtigungen finden Sie unter Was sind Berechtigungen und wie funktionieren sie?

Hier zeigt der Dateimodus an, dass wir eine Datei lesen und schreiben, aber nicht ausführen können. Wir können die Ausführungsberechtigung mit dem Befehl chmod festlegen, der den Dateimodus ändert:

So führen Sie .sh unter Linux aus

Der Befehl chmod u+x somefile setzt das Ausführungsberechtigungsbit für den Besitzer der Datei. Sie können sehen, dass die Berechtigungszeile jetzt an vierter Stelle ein x hat, das die Ausführungsberechtigungen des Eigentümers für die Datei darstellt. Beachten Sie auch, dass der Dateiname farbig aufgeführt ist (hier grün dargestellt). Die Farbe kann auf Ihrem System anders sein, aber viele Linux-Distributionen sind so konfiguriert, dass sie ausführbare Dateien mit einer anderen Farbe anzeigen, wenn Sie den Befehl ls ausführen.

Sie können denselben Vorgang für jede .sh-Skriptdatei ausführen, die Sie möglicherweise ausführen müssen. Wenn Sie beispielsweise ein benutzerdefiniertes Skript schreiben und es myscript.sh nennen, führen Sie chmod u+x myscript.sh aus, bevor Sie versuchen, es auszuführen.

Ausführen eines Skripts über die Befehlszeile

Um ein Shell-Skript auszuführen, müssen Sie den Pfadnamen des Skripts an der Eingabeaufforderung angeben. Wenn das Skript beispielsweise install.sh heißt und sich in Ihrem Arbeitsverzeichnis befindet, können Sie es mit dem folgenden Befehl ausführen.

./install.sh

Der obige Befehl teilt der Shell mit, “die Datei install.sh auszuführen, die sich im aktuellen Verzeichnis befindet”. Wenn sich install.sh im Verzeichnis myscripts in Ihrem Home-Verzeichnis befindet, können Sie es mit dem folgenden Befehl ausführen.

~/myscripts/install.sh
Notiz

Geben Sie als Sicherheitsmaßnahme den Pfadnamen zur Skriptdatei an (anstatt inshall.sh einzugeben). Die Shell möchte sicherstellen, dass die richtige install.sh ausgeführt wird, und fordert Sie auf, den genauen Speicherort anzugeben.

Die einzige Ausnahme ist, wenn sich Ihr Skript in einem Verzeichnis befindet, das in der PATH-Umgebungsvariable Ihres Systems aufgeführt ist. Wenn dies der Fall wäre, könnten Sie die Datei ausführen, indem Sie den Befehl install.sh ausführen.

Neueste Artikel
Vielleicht möchten Sie lesen

LEAVE A REPLY

Please enter your comment!
Please enter your name here