Hi,
Gibt es eigentlich eine Scriptsprache ohne Kommentare die mit Rauten eingeleitet werden?
Wenn ja, wie geht das Programm mit dem obligatorischen Shebang um?
Heißt das, dass Linux nur den Code nach dem Shebang dem Interpreter gibt, oder überlässt es ihm dem Code inkl. der ersten Zeile?
Shebang und das fehlende Raute Kommentar
|
Anmeldungsdatum: Beiträge: 3397 |
|
|
Anmeldungsdatum: Beiträge: 182 |
Auf der bash wird der Shebang ausgelesen um den Interpreter zu starten. Dem Interpreter wird kein Dateiinhalt, sondern der Dateiname übergeben. Der Interpreter selbst wird die Zeile #! /irgendwas getrost ignorieren. Spezielle Kommentarzeilen wie # -*- coding: UTF8 -*- sind dann (im Falle python) schon interessanter. Man kann also davon ausgehen, dass dem Interpreter die gesamte ausführbare Datei "überlassen" wird. Was er daraus macht ist natürlich dann seine Angelegenheit. |
|
Anmeldungsdatum: Beiträge: 724 |
Ich weiss nicht ob das weiterhilft aber so sieht z.B. ein Scheme-Shell-Skript aus. ":"; exec mzscheme -r $0 "$@"
(define argv-count (vector-length argv))
(let loop ((i 0))
(unless (>= i argv-count)
(display (vector-ref argv i))
(newline)
(loop (+ i 1))))
|
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 3397 |
Apollon hat geschrieben:
Jup. Interessiert mich. Abgesehen davon, dass ich LISP nicht ausstehen kann 😉 sieht es so aus, als fehle der Hash/Shebang. ./scriptname aufruft? |
|
Anmeldungsdatum: Beiträge: 724 |
Schwer zu beurteilen, da man sowas wie "Calling MzScheme to process <scriptname>" nicht zu sehen bekommt. 😉 Oder so: Was meinst Du mit "direkt"? |
|
(Themenstarter)
Anmeldungsdatum: Beiträge: 3397 |
Mit direkt meine ich kein mzscheme dateiname schreiben. |