Shebang

Klippstein IT Service

Aus 4webmaster.de

Wechseln zu: Navigation, Suche

Bei Linux wird die Zeichenkombination #! am Anfang eines ist Attribut von::Skriptes shebang oder auch Magic Line genannt. Die Markierung führt dazu, dass das folgende Kommando mitsamt aller angegeben Argumente ausgeführt wird. Der Dateiname wird dann als weiteres Argument übergeben. Das Script gilt somit als vollwertiges Programm und kann als solches im Betriebssystem aufgerufen werden.

Shebang wird seit über 150 Jahren im Normalfall innerhalb des Ausdrucks "the whole shebang" verwendet, was grob übersetzt "Kram, Sache, Angelegenheit" bedeutet. Im Unix-Kontext wird es als Verkürzung von sharp bang oder hash bang gedeutet, was sich auf die zwei Anfangszeichen bezieht. Im Unix-Jargon wird das Ausrufezeichen als bang und das Rautenzeichen als hash oder auch sharp bezeichnet.

Verwendung

Eine typische Shebang-Zeile könnte so aussehen:

#!/bin/sh

Diese Zeile weist das Betriebssystem an, diese Datei mit dem Programm /bin/sh auszuführen. Das ist in diesem Fall die Standard-Shell.

Unter den verschiedenen Unix-Derivaten ist der Speicherort für den gleichen Interpreter oft unterschiedlich. Daher ist es häufig notwendig, die shebang-Zeile zu ändern, wenn ein Skript von einem Computer zu einem anderen kopiert wird.

Um hier Abhilfe zu schaffen, kann man das Programm env benutzen;

#!/usr/bin/env python

es startet das gewünschte Programm (hier Python) unabhängig vom Speicherort (z.B. /usr/bin/python). Allerdings ist auch env nicht auf jedem System installiert und nicht unbedingt immer an derselben Stelle zu finden.

Die Verwendung des Shebang ist nur möglich, wenn es vom jeweiligen Interpreter zumindest in der ersten Zeile als Kommentar erkannt und damit ignoriert wird. Bei gängigen Sprachen wie Perl oder Python ist dies problemlos möglich, da sie das Rautenzeichen für Zeilenkommentare verwenden.





Dieser Artikel basiert auf dem Artikel Shebang aus der freien Enzyklopädie Wikipedia. Er steht unter der GNU-Lizenz für freie Dokumentation. In diesem Wiki und / oder der Wikipedia ist eine Liste der Autoren verfügbar.





Klickbare Grafik