2.4 Eigenständige Skripten: #! in der ersten Zeile

Wenn die Shell ein Programm ausführt, bittet sie den Unix-Kernel, einen neuen Prozess zu starten und das angegebene Programm in diesem Prozess auszuführen. Der Kernel weiß, wie dies für kompilierte Programme zu geschehen hat. Unser nusers-Shell-Skript ist aber kein kompiliertes Programm; wenn die Shell den Kernel auffordert, es auszuführen, scheitert der Kernel an dieser Aufgabe und liefert den Fehler »not executable format file« (etwa: Datei in einem nicht ausführbaren Format). Die Shell bemerkt beim Empfang dieses Fehlers »Aha, es ist kein kompiliertes Programm, dann muss es ja ein Shell-Skript sein« und startet anschließend eine neue Kopie von /bin/sh (der Standard-Shell), um das Programm auszuführen. ...

Get Klassische Shell-Programmierung now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.