<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Shebang</id>
	<title>Shebang - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Shebang"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Shebang&amp;action=history"/>
	<updated>2026-05-31T14:41:37Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Shebang&amp;diff=139972&amp;oldid=prev</id>
		<title>imported&gt;Y2kbug: /* Windows */ Apache und CGI verlinkt</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Shebang&amp;diff=139972&amp;oldid=prev"/>
		<updated>2026-03-26T13:20:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Windows: &lt;/span&gt; Apache und CGI verlinkt&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Zeichen|#!}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Shebang&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;Hash-Bang&amp;#039;&amp;#039;&amp;#039; bezeichnet die Zeichenkombination &amp;lt;code&amp;gt;#!&amp;lt;/code&amp;gt; am Anfang eines [[Skriptsprache|Skriptprogramms]], ähnlich einer [[Dokumenttypdefinition]]. Bei [[Unixoides System|unixoiden]] [[Betriebssystem]]en führt die Markierung mit [[Rautezeichen]] und [[Ausrufezeichen]] dazu, dass das folgende Kommando mitsamt allen angegebenen [[Parameter (Informatik)|Argumenten]] beim Aufruf des Programms ausgeführt wird. Der Dateiname wird dann als weiteres Argument übergeben.&lt;br /&gt;
&lt;br /&gt;
Der &amp;#039;&amp;#039;Shebang&amp;#039;&amp;#039;-Mechanismus wurde erstmals 1980 im [[Quelltext]] von 4.0[[Berkeley Software Distribution|BSD]] veröffentlicht.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Sven Mascheck |url=https://www.in-ulm.de/~mascheck/various/shebang/ |titel=The {{Monospace|#!}} magic, details about the shebang/hash-bang mechanism on various Unix flavours |datum=2021-10-20 |sprache=en |abruf=2025-04-05 |zitat=The Origin – … an old mail from Dennis Ritchie introducing the new feature … So this {{Monospace|#!}} mechanism origins from Bell Labs, between Version 7 and Version 8, and was then available on 4.0BSD (~10/&amp;#039;80), although not activated per default.}}&amp;lt;/ref&amp;gt; Die Funktion war zunächst inaktiv und konnte nur beim [[Kompilierung|Übersetzen]] des Unix-Quelltexts händisch aktiviert werden. 1981 wurde die Auswertung des &amp;#039;&amp;#039;Shebang&amp;#039;&amp;#039; auf 2.8BSD portiert, das einen von 4BSD unabhängigen Entwicklungszweig der Siebten Ausgabe von UNIX ([[Single UNIX Specification#UNIX V7|Unix V7]]) darstellt: der &amp;#039;&amp;#039;Shebang&amp;#039;&amp;#039;-Mechanismus in 2.xBSD stammt allerdings vom [[United States Geological Survey]] in [[Menlo Park]], nicht von [[University of California, Berkeley|Berkeley]].&amp;lt;ref&amp;gt;{{Internetquelle |autor=Sven ascheck |url=https://www.in-ulm.de/~mascheck/various/shebang/ |titel=The {{Monospace|#!}} magic, details about the shebang/hash-bang mechanism on various Unix flavours |datum=2021-10-20 |sprache=en |abruf=2025-04-05 |zitat=The Origin – … Less than a year after 4.0BSD, but more than two years before 4.2 BSD, {{Monospace|#!}} was also added to 2.8BSD (~07/&amp;#039;81), but not active by default. 2.x BSD is a different development line, independent from 4 BSD. It&amp;#039;s a 7th edition (V7) kernel with fixes activated by macros. The macro for the {{Monospace|#!}} code is not present in a makefile, so you had to activate it yourself. The code wording is slightly different from 4 BSD. On 2.8 BSD, {{Monospace|#!}} seems to come from the U.S. Geological Survey in Menlo Park, not from Berkeley.}}&amp;lt;/ref&amp;gt; In 4.2BSD von 1983 wurde eine von Robert Elz überarbeitete Variante des Mechanismus erstmals per Voreinstellung aktiviert.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Sven ascheck |url=https://www.in-ulm.de/~mascheck/various/shebang/ |titel=The {{Monospace|#!}} magic, details about the shebang/hash-bang mechanism on various Unix flavours |datum=2021-10-20 |sprache=en |abruf=2025-04-05 |zitat=The Origin – … It was then implemented by default on 4.2BSD (~09/&amp;#039;83), /usr/src/sys/sys/kern_exec.c by Robert Elz.}}&amp;lt;/ref&amp;gt; In den kommerziellen UNIX-Betriebssystemen der Bell Labs war der Mechanismus erst ab [[System&amp;amp;nbsp;V]] SVR4 von 1988 enthalten.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Sven ascheck |url=https://www.in-ulm.de/~mascheck/various/shebang/ |titel=The {{Monospace|#!}} magic, details about the shebang/hash-bang mechanism on various Unix flavours |datum=2021-10-20 |sprache=en |abruf=2025-04-05 |zitat=The Origin – … Among the public releases from Bell Labs, {{Monospace|#!}} was not added until SVR4 (&amp;#039;88) according to a TUHS list discussion. System III and SVR1 definitely had not implemented it, yet.}}&amp;lt;/ref&amp;gt; In [[Linux (Kernel)|Linux]] ist die Auswertung des &amp;#039;&amp;#039;Shebang&amp;#039;&amp;#039; spätestens seit der Kernel-Version 0.10 enthalten.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Sven ascheck |url=https://www.in-ulm.de/~mascheck/various/shebang/ |titel=The {{Monospace|#!}} magic, details about the shebang/hash-bang mechanism on various Unix flavours |datum=2021-10-20 |sprache=en |abruf=2025-04-05 |zitat=Further history and the maximum length of a {{Monospace|#!}} line: … On Linux, {{Monospace|#!}} was introduced with kernel release 0.09 or 0.10	(0.08 had not implemented it, yet).}}&amp;lt;/ref&amp;gt; Für die [[Unix#Freie BSD-Derivate|freien BSD-Derivate]] musste der Quelltext für den &amp;#039;&amp;#039;Shebang&amp;#039;&amp;#039;-Mechanismus nach dem 1994 beigelegten [[Berkeley Software Distribution#Die Projekte NetBSD, FreeBSD und OpenBSD|Streit um die Rechte an UNIX]] nachprogrammiert werden.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Sven ascheck |url=https://www.in-ulm.de/~mascheck/various/shebang/ |titel=The {{Monospace|#!}} magic, details about the shebang/hash-bang mechanism on various Unix flavours |datum=2021-10-20 |sprache=en |abruf=2025-04-05 |zitat=The Origin – … In 4.3BSD Net/2 the code was removed due to the license war and had to be reimplemented for	the descendants (e.g., NetBSD, 386BSD, BSDI).}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Etymologie ==&lt;br /&gt;
Wie es dazu kam, die auch „{{lang|en|Magic Line}}“&amp;lt;ref name=&amp;quot;EinführungBash-2024_PeterMandl&amp;quot;&amp;gt;{{Literatur |Autor=Peter Mandl |Titel=Einführung in die Bash: Konzepte, Kommandos und Programmierung  |Verlag=Springer Vieweg |Datum=2024 |ISBN=978-3-662-69196-0 |Kapitel=6.2 Aufbau und Aufruf eines Bash-Skripts |Seiten=82 |Online={{Google Buch |BuchID=exQ2EQAAQBAJ |Seite=82}} |Abruf=2025-04-05 |Zitat=Ganz am Anfang eines Skripts wird die Shell spezifiziert, mit der die weiteren Anweisungen interpretiert werden sollen. Die Zeichenkombination {{Monospace|#!}} wird auch als &amp;#039;&amp;#039;Shebang&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;Magic Line&amp;#039;&amp;#039; bezeichnet.}}&amp;lt;/ref&amp;gt; genannte erste Zeile von [[Shellskript]]en (siehe [[Magische Zahl (Informatik)|Magische Zahl]])&amp;lt;ref name=&amp;quot;BetriebssystemeFürDummies-2025&amp;quot;&amp;gt;{{Literatur |Autor=Robert Baumgartl |Titel=Betriebssysteme für Dummies |Auflage=1. |Verlag=Wiley-VCH |Ort=Weinheim, Deutschland |Datum=2025 |ISBN=978-3-527-71813-9 |Kapitel=2. Bedienung, bitte: Wie man mit Linux umgeht |Online={{Google Buch |BuchID=24XSEAAAQBAJ |SeitenID=PT59}} |Abruf=2025-04-05 |Zitat=Die beiden Zeichen {{Monospace|#!}} werden im UNIX &amp;#039;&amp;#039;Shebang&amp;#039;&amp;#039; genannt. Sie sind ein Beispiel für einen &amp;#039;&amp;#039;Magic String&amp;#039;&amp;#039;, das ist eine charakteristische Bytesequenz, anhand derer das System erkennen kann, was es mit der enthaltenen Datei machen kann.}}&amp;lt;/ref&amp;gt; mit „Shebang“ zu bezeichnen, ist nicht bekannt.&amp;lt;ref name=&amp;quot;UnixShellprogrammierung-2018_JörgShorn&amp;quot;&amp;gt;{{Literatur |Autor=Jörg Schorn |Titel=UNIX Shellprogrammierung |Verlag=Walter de Gruyter |Ort=Berlin/Boston |Datum=2018 |ISBN=978-3-11-044511-4 |Kapitel=3.2.1 Shebang |Seiten=29 |Online={{Google Buch |BuchID=1oxuDwAAQBAJ |Seite=29}} |Abruf=2025-04-05 |Zitat=Warum die Zeichenfolge ‚#!‘ als Shebang bezeichnet wird, ist nicht zu hundert Prozent geklärt. Es wird oft vermutet, dass sie als Abkürzung von &amp;#039;&amp;#039;Hashbang&amp;#039;&amp;#039; genutzt wird. Das Doppelkreuz ‚#‘ wird als &amp;#039;&amp;#039;Hash&amp;#039;&amp;#039; und das Ausrufezeichen ‚!‘ als &amp;#039;&amp;#039;Bang&amp;#039;&amp;#039; bezeichnet.}}&amp;lt;/ref&amp;gt; Im Unix-Kontext kann „Shebang“ jedoch als Verkürzung von &amp;#039;&amp;#039;{{lang|en|sharp bang}}&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;{{lang|en|hash bang}}&amp;#039;&amp;#039; gedeutet werden, was sich auf die ersten zwei Zeichen bezieht. Das [[Rautezeichen]] heißt auf Englisch auch &amp;#039;&amp;#039;{{lang|en|sharp}}&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;{{lang|en|hash}}&amp;#039;&amp;#039;, und &amp;#039;&amp;#039;{{lang|en|bang}}&amp;#039;&amp;#039; ist [[Jargon]]&amp;lt;ref&amp;gt;{{Internetquelle |autor=Max Fellmann |url=https://sz-magazin.sueddeutsche.de/gesellschaft-leben/keine-frage-80031 |titel=Keine Frage; Wir brauchen dieses Satzzeichen. |werk=SZ Magazin, Heft 45/2013 |hrsg=[[Süddeutsche Zeitung]] |datum=2013-11-07 |abruf=2025-04-06 |zitat=… ›bang‹, unter englischsprachigen Druckern ein Slang-Ausdruck für das Ausrufezeichen.}}&amp;lt;/ref&amp;gt; für das [[Ausrufezeichen]].&amp;lt;ref name=&amp;quot;UnixShellprogrammierung-2018_JörgShorn&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;EinführungBash-2024_PeterMandl&amp;quot; /&amp;gt;&amp;lt;ref name=&amp;quot;BetriebssystemeFürDummies-2025&amp;quot; /&amp;gt; Es besteht allerdings die Möglichkeit, dass die US-amerikanische [[Redewendung]] „{{lang|en|the whole shebang}}“&amp;lt;!-- – für „{{lang|en|everything, the works, everything involved in what is under consideration}}“ –--&amp;gt; die Wortschöpfung beeinflusst hat.&amp;lt;ref&amp;gt;{{Internetquelle |autor=Sven ascheck |url=https://www.in-ulm.de/~mascheck/various/shebang/ |titel=The {{Monospace|#!}} magic, details about the shebang/hash-bang mechanism on various Unix flavours |datum=2021-10-20 |sprache=en |abruf=2025-04-05 |zitat=And why shebang? In music, ‘#’ means sharp. So just shorten {{Monospace|#!}} to sharp-bang. Or it might be derived from ‘shell bang’. All this probably under the influence of the american slang idiom ‘the whole shebang’ (everything, the works, everything involved in what is under consideration). See also the wiktionary, jargon dictionary or Merriam-Websters. Sometimes it&amp;#039;s also called hash-bang, pound-bang, sha-bang/shabang, hash-exclam, or hash-pling (british, isn&amp;#039;t it?).&amp;lt;br /&amp;gt;According to Dennis M. Ritchie (email answer to Alex North-Keys) it seems it had no name originally.&amp;lt;br /&amp;gt;And Doug McIllroy mentioned in the TUHS mailing list, that the slang for {{Monospace|#}} at Bell Labs most probably was ‘sharp’ at the time.}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Geschichte ==&lt;br /&gt;
Der Mechanismus wurde in seiner ursprünglichen Form eingeführt, um [[Shellskript]]-Dateien für die unterschiedlichen [[Unix-Shell]]s &amp;#039;&amp;#039;sh&amp;#039;&amp;#039; und &amp;#039;&amp;#039;csh&amp;#039;&amp;#039; voneinander unterscheiden zu können. Dabei wurde anhand des ersten Zeichens der Datei entschieden, wenn es entweder „&amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;“ oder „&amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;#&amp;lt;/span&amp;gt;“ lautete. Dies sind Zeichen, die in der jeweiligen Skriptsprache entweder [[Kommentar (Programmierung)|Kommentare]] einleiten („&amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;#&amp;lt;/span&amp;gt;“), oder – im Fall von „&amp;lt;span style=&amp;quot;font-family:monospace;&amp;quot;&amp;gt;:&amp;lt;/span&amp;gt;“ – den Aufruf einer [[Nulloperation|leeren Funktion]] (NOP) darstellen und daher ohne Beeinträchtigung der Funktionalität des Skriptes in die Dateien eingebaut werden können.&lt;br /&gt;
&lt;br /&gt;
Der Shebang wurde von [[Dennis Ritchie]] in der Zeit zwischen den Unix-Versionen 7 und 8 der [[Bell Laboratories]] eingeführt. In derselben Zeit wurde es in [[Berkeley Software Distribution|BSD]]-Unix übernommen.&amp;lt;ref&amp;gt;Archivauszug von 1980 auf [https://www.in-ulm.de/~mascheck/various/shebang/sys1.c.html in-ulm.de]; bereits vorhanden in Version 4BSD und standardmäßig aktiviert in Version 4.2BSD&amp;lt;/ref&amp;gt; Da Version&amp;amp;nbsp;8 des Unix von Bell nicht mehr veröffentlicht wurde, wurde der Shebang erst durch BSD in großem Stil bekannt.&lt;br /&gt;
&lt;br /&gt;
== Implementierung ==&lt;br /&gt;
Die Shebang-Zeichen stellen eine im [[American Standard Code for Information Interchange|ASCII]]-Zeichensatz für Menschen lesbare Form einer [[Magische Zahl (Informatik) #Magische Zahlen zur Kennzeichnung von Dateitypen|magischen Zahl]] für ausführbare Programme dar, der magische [[Zeichenkette|String]] entspricht [[Hexadezimalsystem|hexadezimal]] &amp;lt;code&amp;gt;0x23 0x21&amp;lt;/code&amp;gt;. Damit kann der Betriebssystemkern die Datei bereits als Skript erkennen und mit dem angegebenen [[Interpreter]] ausführen. Das Skript gilt auf diese Weise als nahezu vollwertiges Programm und kann als solches im Betriebssystem aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
== Verwendung ==&lt;br /&gt;
[[Datei:Hello World Perl GTk2.png|mini|Ein [[Hallo-Welt-Programm]] in [[Perl (Programmiersprache)|Perl]]. Die erste Zeile enthält den Pfad zum Interpreter sowie ein Argument (&amp;lt;code&amp;gt;-w&amp;lt;/code&amp;gt;).]]&lt;br /&gt;
Eine typische Shebang-Zeile sieht so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/bin/sh&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Zeile weist das Betriebssystem an, diese Datei mit dem [[Interpreter]]-Programm &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt; auszuführen, in diesem Fall also der Standard-[[Unix-Shell]].&lt;br /&gt;
&lt;br /&gt;
Die Shebang-Zeile &amp;lt;code&amp;gt;#!/bin/cat&amp;lt;/code&amp;gt; macht ein Programm zu einem (unechten) [[Quine (Computerprogramm)|Quine]], das seinen Inhalt auf die [[Standardausgabe]] ausgibt, indem es seinen Namen dem Programm &amp;lt;code&amp;gt;[[cat (Unix)|cat]]&amp;lt;/code&amp;gt; übergibt.&lt;br /&gt;
&lt;br /&gt;
== Probleme ==&lt;br /&gt;
=== Speicherort ===&lt;br /&gt;
Einige Speicherorte sind im [[Filesystem Hierarchy Standard]] (FHS) normiert, sodass FHS-konforme Unix-artige Systeme die entsprechende Programme, oder [[symbolische Verknüpfung]]en darauf, am normierten Pfad vorhalten müssen. So ist eine [[Portable Operating System Interface|POSIX]]-kompatible Unix-Shell immer unter &amp;lt;code&amp;gt;/bin/sh&amp;lt;/code&amp;gt;. Jedoch sind nicht alle [[Unix-Derivat]]e FHS-konform, und der Speicherort für weitere Interpreter ist nicht normiert. Daher kann es notwendig sein, die &amp;#039;&amp;#039;shebang&amp;#039;&amp;#039;-Zeile zu ändern, wenn ein Skript von einem Computer zu einem anderen kopiert wird.&lt;br /&gt;
&lt;br /&gt;
Um hier Abhilfe zu schaffen, kann man das Programm &amp;lt;code&amp;gt;[[env]]&amp;lt;/code&amp;gt; benutzen:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!/usr/bin/env python&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;env&amp;#039;&amp;#039; startet das gewünschte Programm (hier [[Python (Programmiersprache)|Python]]) unabhängig vom Speicherort, indem es die Standard-[[Umgebungsvariable]]n der Betriebssystemkonfiguration lädt –&amp;amp;nbsp;und damit auch die Umgebungsvariable &amp;lt;code&amp;gt;PATH&amp;lt;/code&amp;gt;&amp;amp;nbsp;– und dann nach dem Programm &amp;#039;&amp;#039;python&amp;#039;&amp;#039; in diesen Programmpfaden sucht. Auf diese Weise findet es in diesem Beispiel den Pythoninterpreter unter &amp;lt;code&amp;gt;/usr/bin/python&amp;lt;/code&amp;gt;. Allerdings ist auch &amp;#039;&amp;#039;env&amp;#039;&amp;#039; nicht auf jedem System installiert und nicht unbedingt immer an derselben Stelle zu finden.&lt;br /&gt;
&lt;br /&gt;
Ist der Speicherort unklar, können auch die Kommandozeilen-Befehle &amp;lt;code&amp;gt;type&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;command -v&amp;lt;/code&amp;gt; oder &amp;lt;code&amp;gt;which&amp;lt;/code&amp;gt; weiterhelfen:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
user@localhost:~$ type python&lt;br /&gt;
python is /usr/bin/python&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Windows ===&lt;br /&gt;
Windows kennt das Shebang grundsätzlich nicht. Werden aber Programmpakete, die für Windows und Unix gleichermaßen entwickelt wurden, unter Windows installiert, so interpretieren oft einige Programmteile das Shebang. So „versteht“ beispielsweise der [[Apache HTTP Server|Apache-Webserver]] Shebangs, wenn er [[Common Gateway Interface|CGI]]-Skripte aufruft. Hier ein mögliches Beispiel, wie ein [[Python (Programmiersprache)|Python]]-Skript von Apache aufgerufen wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#!C:\Programme und Anwendungen\Python 2.48\bin\python.exe&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Shebang als Sonderform eines Kommentars in der Skriptsprache ===&lt;br /&gt;
Durch die Verwendung des Shebangs können theoretisch beliebige Interpreter aufgerufen werden, denen dann das gesamte Script zur Verarbeitung übergeben wird. Die Verwendung des Shebangs als Aufruf für den Interpreter ist allerdings nur dann möglich, wenn das Shebang von diesem ignoriert wird, da diese keine Anweisung für den Interpreter selbst enthält. Durch das Rautezeichen wird das Shebang in vielen [[Skriptsprache]]n als Kommentar bewertet und damit ignoriert. Alternativ könnte der Interpreter immer die erste Zeile überspringen.&lt;br /&gt;
&lt;br /&gt;
Bei gängigen Sprachen wie [[Ruby (Programmiersprache)|Ruby]], [[Perl (Programmiersprache)|Perl]], [[Python (Programmiersprache)|Python]] oder [[PHP]] ist dies der Fall, da sie das Rautezeichen für Zeilenkommentare verwenden. Andere Sprachen hingegen verwenden andere Zeichen für (Zeilen-)Kommentare. [[REXX]]-Interpreter beispielsweise sehen dieses Zeichen allgemein als [[Syntaxfehler]] an. Aus diesem Grund sind nicht beliebige Interpreter für den Aufruf über den Shebang geeignet.&lt;br /&gt;
&lt;br /&gt;
Mitunter adressiert das Shebang einen Präprozessor, der die Zeile auswertet, entfernt und den Rest an einen Interpreter oder Compiler übergibt. Dies ist beispielsweise bei [[InstantFPC]] der Fall, einem Kommando, das die Ausführung von Pascalskripten mit [[Free Pascal]] unter verschiedenen Betriebssystemen erlaubt.&amp;lt;ref name=&amp;quot;instantfpcdoku&amp;quot;&amp;gt;[https://wiki.freepascal.org/InstantFPC/de Deutsche Dokumentation zu InstantFPC]&amp;lt;/ref&amp;gt; Obwohl [[Pascal (Programmiersprache)|Pascal]] das Zeichen „#“ nicht als Kommentarkennzeichen verwendet, werden die Skripte fehlerfrei kompiliert und ausgeführt, da InstantFPC die Shebangzeile entfernt und sonstige Parameter extrahiert. Ab Version 0.9.31 erkennt auch [[Lazarus (Entwicklungsumgebung)|Lazarus]] die Shebangzeile.&amp;lt;ref name=&amp;quot;instantfpcdoku&amp;quot; /&amp;gt; In der Lisp-Variante [[Scheme]] und in [[D (Programmiersprache)|D]] ist das Rautezeichen zwar allgemein kein Kommentar, aber die Shebang-Zeile wird vom Compiler als erste Zeile speziell ignoriert.&amp;lt;ref&amp;gt;[https://srfi.schemers.org/srfi-22/ SRFI-22]&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Internetquelle |autor=The D Language Foundation |url=https://dlang.org/dlangspec.pdf |titel=D Programming Language Specification |zugriff=2017-10-17 |seiten=5 |format=PDF, 1,46 MB |sprache=en |archiv-url=https://web.archive.org/web/20171003023004/https://dlang.org/dlangspec.pdf |archiv-datum=2017-10-03 |offline=ja |archiv-bot=2023-01-09 06:47:19 InternetArchiveBot }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Unicode Byte Order Mark am Dateianfang ===&lt;br /&gt;
Skriptdateien enthalten Text und zählen zu den Textdateien. Textdateien in Unicode-Kodierung beginnen oft mit einer [[Byte Order Mark|Byte-Order-Markierung]] (BOM). Steht eine solche BOM am Anfang einer Skriptdatei, also vor der Shebang-Konstruktion, dann wird die Shebang-Konstruktion unter Umständen nicht erkannt (auch diese muss per Definition am Anfang stehen). Daher sollte bei Skripten, die ein Shebang nutzen, auf eine BOM am Dateianfang verzichtet werden.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* Erkennung des korrekten Interpreters bei Binärdateien unter Linux: [[binfmt misc]]&lt;br /&gt;
&lt;br /&gt;
== Weblinks ==&lt;br /&gt;
* [https://www.in-ulm.de/~mascheck/various/shebang/ Details about the shebang mechanism on various Unix flavours] (englisch)&lt;br /&gt;
* Aus dem [[Jargon File]]: [http://www.catb.org/jargon/html/S/shebang.html shebang] (englisch)&lt;br /&gt;
* Definition des Wortes im &amp;#039;&amp;#039;[[Merriam-Webster’s Collegiate Dictionary|Webster’s Dictionary]]: [https://www.merriam-webster.com/dictionary/shebang shebang]&amp;#039;&amp;#039; (englisch)&lt;br /&gt;
* [https://homepages.cwi.nl/~aeb/std/hashexclam.html #! - the Unix truth as far as I know it.] – umfassender Artikel über den Shebang (englisch)&lt;br /&gt;
&lt;br /&gt;
== Einzelnachweise ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Programmierung]]&lt;br /&gt;
[[Kategorie:Programmiersprachen]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Y2kbug</name></author>
	</entry>
</feed>