En . ist eine Anweisung an den Lader, das Programm zu verwenden, das nach der Anweisung #!
als Interpreter für die betreffende Datei, wenn Sie versuchen, sie auszuführen. Wenn Sie also versuchen, eine Datei namens foo.sh
die über #!/bin/bash
am Anfang, der eigentliche Befehl, der ausgeführt wird, lautet /bin/bash foo.sh
. Dies ist eine flexible Möglichkeit, verschiedene Interpreter für verschiedene Programme zu verwenden. Dies ist etwas, das auf der Systemebene implementiert ist, und die API auf Benutzerebene ist die Shebang-Konvention.
Es ist auch wichtig zu wissen, dass der ganze Kram ein magische Zahl - eine menschenlesbare, die die Datei als Skript für den angegebenen Interpreter identifiziert.
Dass es auch ohne den Shebang "funktioniert", liegt nur daran, dass das betreffende Programm ein Shell-Skript ist, das für dieselbe Shell geschrieben wurde, die Sie verwenden. Sie könnten zum Beispiel sehr wohl eine Javascript-Datei schreiben und dann eine #! /usr/bin/js
(oder etwas Ähnliches), um ein Javascript-"Shell-Skript" zu haben.