Shebang in Bash-Skript
Dieses Tutorial erklärt, was der Shebang ist und wie er in Bash-Skripten verwendet wird.
Bash Shebang (#!
) und wie man es benutzt
Die #!
Syntax wird in Shell-Skripten verwendet, um den Interpreter anzugeben, der das Skript in Unix/Linux-Betriebssystemen ausführen soll.
#!/bin/bash
Der Shebang beginnt mit dem Zeichen #
und einem Ausrufezeichen, gefolgt vom vollständigen Pfad zum Interpreter.
Im Fall des oben angegebenen Code-Schnipsels wird angegeben, dass das Skript mit bash
als Interpreter ausgeführt werden soll und der bash
-Interpreter im Verzeichnis /bin
zu finden ist. Wir gehen davon aus, dass bash
im Verzeichnis /bin
installiert wurde.
Skripte unter Linux werden von dem in der ersten Zeile angegebenen Interpreter ausgeführt.
Lassen Sie uns ein Skript schreiben, das #!/bin/bash
verwendet. Das folgende Skript druckt den gesamten Inhalt des Ordners in einem langen Format mit bash
als Interpreter.
#!/bin/bash
ls -al
Linux-Skripte portabel machen
#!/bin/bash
geht davon aus, dass bash im Verzeichnis /bin
installiert ist. Dies ist jedoch bei verschiedenen Unix
-ähnlichen Betriebssystemen nicht immer der Fall. Um Skripte portierbarer zu machen, verwenden Sie #!/usr/bin/env bash
.
#!/usr/bin/env bash
Dies weist die Shell an, nach der ersten Übereinstimmung von bash
in der Variablen $PATH
zu suchen und die erste gefundene als Interpreter zu verwenden. Dies ist nützlich, wenn Sie den absoluten Pfad des Interpreters auf dem System nicht kennen.
Lassen Sie uns ein Skript schreiben, das #!/usr/bin/env bash
verwendet. Das folgende Skript gibt den gesamten Inhalt des Ordners in einem langen Format aus, wobei die erste bash
-Shell, die es in der Variablen $PATH
findet, als Interpreter verwendet wird.
#!/usr/bin/env bash
ls -al