In diesem Tutorial lernen wir, wie man ein einfaches Bash-Skript erstellt und ausführt, das „Hello World“ ausgibt.
Was ist Shebang (#!)
Jedes Shell-Skript beginnt mit dem Shebang #!
Symbole. Dies wird in der ersten Zeile des Skripts deklariert und teilt der Shell im Grunde mit, welcher Interpreter zum Ausführen des Skripts verwendet wird.
#!/bin/bash
...
Hello World Bash-Skript
Jetzt erstellen wir ein Bash-Skript, das die Worte „Hello World“ in einem Terminal ausgibt.
Erstellen Sie zuerst eine Datei namens hello_world.sh
. Mit dem Terminal schreiben wir:
$ touch hello_world.sh
Unsere Datei ist jetzt erstellt.
Als nächstes öffnen Sie die Datei in Ihrem bevorzugten Editor; Ich verwende Nano, also wäre es:
$ nano hello_world.sh
Einmal die hello_world.sh
in Ihrem Editor geöffnet ist, geben Sie die folgenden Befehle ein:
#!/bin/bash
echo "Hello World"
Shell-Skript ausführen
Jetzt den hello world
ausdrucken , müssen wir das von uns erstellte Shell-Skript ausführen.
Es gibt mehrere Möglichkeiten, das Shell-Skript auszuführen
$ sh ./hello_world.sh ## incorrect
$ ./hello_world.sh ## correct
$ bash ./hello_world.sh ## correct
Die erste Methode ist falsch, weil Sie der Shell sagen, dass sie den Shell-Interpreter und nicht den Bash-Interpreter verwenden soll.
Die zweite Methode ist richtig, weil wir einfach das Skript ausführen, das den definierten Interpreter in der Datei verwendet, die erste Zeile im Skript ist #!/bin/bash
.
Die dritte Methode ist auch richtig, weil wir in diesem Fall sagen, dass wir den Bash-Interpreter verwenden sollen, der derselbe ist wie der, der in der Datei definiert ist.
Berechtigung beim Ausführen des Shell-Skripts verweigert
Wenn Sie versuchen, Ihr Skript auszuführen mit:
$ ./hello_world.sh
-bash: ./hello_world.sh: Permission denied
Sie werden einen Fehler "Berechtigungen verweigert" sehen. Dies liegt daran, dass das Skript keine Ausführungsberechtigung hat.
Sie können dem Skript eine Ausführungsberechtigung erteilen, indem Sie Folgendes verwenden:
$ chmod +x ./hello_world.sh
Wenn Sie das Skript jetzt erneut ausführen, wird „Hello World“ ausgedruckt:
$ ./hello_world.sh
Hello World