In einem Shebang ist ein Leerzeichen oder mehr zwischen #!
erlaubt und der Dolmetscher?
Beispiel:#! /bin/bash
. Es scheint zu funktionieren, aber einige sagten, dass es falsch ist.
Akzeptierte Antwort:
Ja, das ist erlaubt.
Der Wikipedia-Artikel über den Shebang enthält eine E-Mail von Dennis Ritchie aus dem Jahr 1980, als er Kernel-Unterstützung für den Shebang einführte (als Teil eines umfassenderen Pakets namens Interpreter-Direktiven). ) in Version 8 Unix (Hervorhebung von mir):
Das System wurde so geändert, dass eine ausgeführte Datei
mit den magischen Zeichen #!
beginnt , der Rest der Zeile versteht sich
als Name eines Interpreters für die ausgeführte Datei. […]
Nutzen Sie diese wunderbare Gelegenheit,
put
#! /bin/sh
am linken Rand der ersten Zeile Ihrer Shell-Skripte. Leerzeichen nach !
sind in Ordnung.
Leerzeichen nach dem Shebang gibt es also schon eine ganze Weile, und in Dennis Ritchies Beispiel werden sie tatsächlich verwendet.
Beachten Sie, dass frühe Versionen von Unix eine Begrenzung von 16 Zeichen in dieser Interpreterzeile hatten, sodass Sie dort nicht beliebig viele Leerzeichen haben konnten. Diese Einschränkung gilt nicht mehr in modernen Kerneln.