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: 3396 Wohnort: Hermagor, Kärnten - Österreich |
|
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 Wohnort: Darmstadt |
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: 3396 Wohnort: Hermagor, Kärnten - Österreich |
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 Wohnort: Darmstadt |
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: 3396 Wohnort: Hermagor, Kärnten - Österreich |
Mit direkt meine ich kein mzscheme dateiname schreiben. |