Die folgenden Abschnitte sind zum besseren Verstehen dieses Beitrags hilfreich: Shell-Skripte enthalten gelegentlich Fehler im Umgang mit dem Thema und symbolische Bindungen. Unter /bin gibt es den Verweis auf sch, der auf den Bindestrich zeigt, früher (oder wenn er ausdrücklich oder in einigen anderen Linux-Distributionen geändert wurde) auch auf die bash.
Die benutzte Schebang, das ist die erste Linie, die einen speziellen Hinweis gibt: z.B: Das Formular, in dem das Script aufgerufen wird[2]: Als rufbares Program über PATH, mit absoluten oder relativen Pfaden, wie zum Beispiel: Eine Schrift kann von verschiedenen Interpreten gedolmetscht werden - oder auch nicht. Ruft man einen Dolmetscher explizit auf, dann wird er benutzt - ohne Wenn und Aber; der Schebang blickt in die Tube, also wird er ausgelassen.
Man kann das Drehbuch natürlich nicht zwingen, in einem Dolmetscher zu arbeiten, für den es nicht gedacht ist. Die Skripte werden nicht auf zauberhafte Art und Weisen neu beschrieben dann müssen Sie das Script nicht erst ausführen, weil Sie den Dolmetscher ausführen, und das Script ist seine Eingangsdatei, so wie ein Image die Eingangsdatei für ein Graphikprogramm wie Gimp ist.
Wenn Sie den Dolmetscher weglassen, müssen Sie zuerst das Script lauffähig machen; dann den in der ersten Reihe stehenden und aus einem Kommentar-Zeichen bestehenden Scheitelpunkt Nr. (: scharf), das ! und den Weg zum Interpreten - normalerweise der absolute Weg, d.h. /bin/bash oder /bin/sh, in Summe also /bin/bash.
ZurÃ??ck zur KomplexitÃ?t: Jetzt sagt das Script #! /bin/sh als Shebang, aber im Verzeichnis /bin sh ist ein symbolischer Link, der auf das Dash oder frÃ?her auf die Bash zeigt. Ja, wenn das Script in einer unterstützen Standard Ubuntu-Installation benutzt wird. Ja, es ist auch anders, wenn /bin/sh ein Symbollink zu /bin/dash ist.
Nein, ist es nicht, wenn /bin/sh ein Link zu /bin/bash ist, zum Beispiel. Der Shell kann prüfen, wie sie genannt wurde, und das macht sie - jedenfalls die Bash. Es merkt, dass es als sh genannt wurde, und benimmt sich, als ob Sie die --posix Wahl benutzt haben - also ist der Anruf von #! /bin/sh nicht derselbe wie der von #! /bin/bash (siehe die Manpage der bash auf den ersten Seiten).
Das hat die Dinge etwas raffinierter gemacht, und wenn Sie sich davon inspiriert fühlen, schreiben Sie auch Schalter in Ihre eigenen Scripts, die erkennen, ob das Script mit vollständigem oder relativen Weg aufrufbar war. Möglicherweise bevorzugen Sie dann den Bindestrich der Bash, aber je nach Vorrichtung kann es auch andere, noch kleiner werden.
Sie möchten so viele erweiterte Begriffe einer Shell wie möglich einbinden. Danach werden Sie wahrscheinlich nach etwas wie bash oder zsh suchen und den dazugehörigen Schebang ausprobieren. Für Skripte mit Schebang werden die SUID- und SGID-Flags vom Linux-Kernel nicht berücksichtigt. Mit Hilfe von Scheebang kann man ein Script rufen, das wiederum einen Scheebang hat etc.
Die Shebangs können um folgende Elemente ergänzt werden: on, und setzt voraus, dass env gleichmäßig verteilt wird und somit in der ersten Skriptzeile auftritt. Das was mit dem Strich und mit sh funktioniert, funktioniert beinahe immer mit der Bash - aber nicht umgedreht.
Der Bash ist weit verbreitete und wird auch von Ubuntu als interaktives Shell verwendet. Der Schlag ist viel stärker als der Schlag. Der Zeitgewinn beim Verfassen von Texten bringt nie die kürzere Anfangszeit des Flash - es sei denn, Sie arbeiten in einer Arbeitsumgebung, in der Sie mehr als nur Daumenregeln erlernen müssen.