Unter Linux weist das Hinzufügen von #!/bin/bash die ausführbare Datei an, mit Bash ausgeführt zu werden.
Ich habe mich gefragt, warum dies im vollständigen Pfad angegeben ist. Ich würde erwarten, dass bin, da es sich in einem in PATH angegebenen Pfad befindet, durch einfaches Hinzufügen von #!bash gefunden wird.
Das ist nicht wirklich ein Ärgernis, ich bin nur neugierig. Danke
Antwort1
Das #!
funktioniert so, dass der vollständige Pfadname des Interpreters folgen muss. Wenn Sie suchen möchten, $PATH
ist die häufigste Konstruktion #!/usr/bin/env
<Interpreter>, zum Beispiel
#!/usr/bin/env perl
sucht perl
in $PATH
. Weitere Informationen dazu, warum dies funktioniert, finden Sie auf der Handbuchseite fürUmgebungund dasnette Diskussionunter "Woher weiß /usr/bin/env, welches Programm verwendet werden soll?" in diesem Forum.