Ein Shell-Skript ist eine Datei, die eine Reihe von Befehlen in der Reihenfolge ihrer Ausführung enthält. Wenn das Shell-Skript ausgeführt wird, führt es alle Befehle der Reihe nach nacheinander aus. Ein Shell-Skript kann mehrmals ausgeführt werden, wodurch die Zeit gespart wird, jeden einzelnen Befehl einzeln auszuführen.
Einige der Gründe, warum Sie Shell-Skripte benötigen, sind folgende:
- Um sich wiederholende Arbeiten zu vermeiden
- Um häufig durchgeführte Vorgänge zu automatisieren
- Kombinieren Sie komplexe und sich wiederholende Befehlsfolgen zu einem einzigen, einfachen Befehl.
In einem früheren Beitrag haben wir das Erstellen und Ausführen des Shell-Skripts in Ubuntu erklärt. In diesem Beitrag geht es darum, wie ein Shell-Skript im Debian-System erstellt und ausgeführt wird. Wir werden die Bash-Shell verwenden, die die Standard-Shell in Debian ist.
Hinweis:Die in diesem Beitrag erläuterten Schritte wurden auf Debian 10 (Buster) getestet System.
Schritt 1:Erstellen des Shell-Skripts
Um ein Shell-Skript zu erstellen, müssen Sie nur eine einfache Textdatei mit einem beliebigen Texteditor wie Nano, Vim, Gedit usw. erstellen. Dann müssen Sie in der Textdatei die Befehle in der gewünschten Reihenfolge hinzufügen hingerichtet. Denken Sie beim Erstellen eines Shell-Skripts an die folgenden Punkte:
- Beginnen Sie das Shell-Skript mit „#!/bin/bash“
- Jede Zeile wird als Befehl behandelt
- Beginne eine Kommentarzeile mit #
Wir werden das Skript mit dem Namen „testscript“ mit dem Nano-Editor erstellen; Sie können jedoch einen beliebigen Editor Ihrer Wahl auswählen. Stellen Sie vor dem Erstellen einer Skriptdatei sicher, dass ihr Name nicht mit den Befehlen in Konflikt steht. Sie können dies überprüfen, indem Sie „which“ gefolgt vom Skriptnamen eingeben:
$ which script_name
In unserem Beispiel wäre es:
$ which testscript
Die folgende Ausgabe zeigt, dass kein solcher Befehl oder Programm mit dem Namen „testscript“ installiert ist. Daher können wir mit diesem Namen fortfahren.
Um das Skript mit dem Namen „testscript“ zu erstellen, führen Sie den folgenden Befehl im Terminal aus:
$ sudo nano testscript.sh
Nach dem Ausführen des obigen Befehls wird eine leere Datei im Nano-Editor geöffnet. Fügen Sie zuerst „#!/bin/bash“ am Anfang der Datei hinzu. Fügen Sie nun die Befehle hinzu, die Sie im Skript ausführen möchten, wobei jeder Befehl in einer separaten Zeile steht. Hier wollen wir ein Skript erstellen, das folgende Aufgaben erledigen kann:
- Drucken Sie die IP-Adresse unseres Systems
- Dateien im Download-Verzeichnis auflisten
- Sicherungsdateien aus dem Downloads-Verzeichnis in das Documents-Verzeichnis
Also haben wir die folgenden Befehlszeilen in unser Skript geschrieben:
#!/bin/sh echo "Now we are going to print IP address" ip addr | grep ens37 echo "Now we are going to ping Google website" ping -c 2 google.com echo "Now we are going to backup our Downloads directory to Documents directory" cp -rv ~/Downloads ~/Documents
Nachdem Sie die Befehle in das Skript eingegeben haben, speichern und schließen Sie es.
So sieht unsere Skriptdatei im Nano-Editor aus:
Schritt 2:Ausführungsberechtigungen festlegen
Jetzt müssen Sie die Skriptdatei ausführbar machen, um sie als Programm auszuführen. Sie können dies tun, indem Sie den folgenden Befehl im Terminal ausführen:
$ chmod +x script_name
In unserem Beispiel wäre es:
$ chmod +x testscript.sh
Schritt 3:Ausführen des Shell-Skripts
Nachdem die Ausführungsberechtigungen auf das Skript angewendet wurden, können Sie das Skript wie folgt ausführen
$ ./script_name
Hinweis:Wenn Ihr Skript in einem anderen Verzeichnis als dem aktuellen Arbeitsverzeichnis abgelegt wurde, stellen Sie sicher, dass Sie zuerst zu diesem Verzeichnis navigieren und dann das Skript ausführen.
Um beispielsweise unser Skript mit dem Namen „testscript.sh“ auszuführen, lautet der Befehl:
$ ./testscript.sh
Nach dem Ausführen des Skripts führt die Shell jeden im Skript enthaltenen Befehl nacheinander aus und zeigt die Ausgabe an. Im Folgenden sieht die Ausgabe unseres Skripts so aus:
Anders als das Ausführen des Skripts mit ./script_name Befehl, gibt es zwei weitere Möglichkeiten, wie Sie das Skript ausführen können, und zwar wie folgt:
$ bash script_name $ sh script_name
So können Sie ein Shell-Skript im Debian 10 Buster-System erstellen und ausführen.
Shell-Skripte sind nur eine Reihe von Befehlen, die Sie in einer Datei hinzufügen und zusammen ausführen. Nachdem Sie diesem Beitrag gefolgt sind, hoffen wir, dass Sie jetzt ganz einfach ein Shell-Skript erstellen und sich wiederholende Jobs automatisieren können.