Unterschied in der Tcl-Skriptausführung mit und ohne „-f“
Frage
Ich habe eine TCL-Skriptdatei namens hello.tcl
, mit folgendem Inhalt:
puts "hello world"
Wenn ich es mit dem Befehl auf Bash ausführe,
tclsh hello.tcl
Ich bekomme den Hallo-Aufdruck.
Allerdings, wenn ich benutze tclsh -f
statt nur tclsh
oben erhalte ich keinen Ausdruck, nur die TCL-Eingabeaufforderung.Warum erhalte ich im zweiten Fall keine Ausdrucke?
Lösung
tclsh
Syntax ist:
tclsh ?-encoding name? ?fileName arg arg ...?
Das heißt, Sie können es so nennen:
tclsh hell.tcl
tclsh -encoding (something) hell.tcl
Alles andere ist ein Fehler.Anstatt dich anzubellen, tclsh
ignoriert den Fehler stillschweigend und öffnet die Shell.
Tcl-Befehlsnotation
Ich fand die Tcl-Befehlsnotation zunächst etwas seltsam und konnte nirgendwo einen Verweis finden.Folgendes verstehe ich jedoch:
- Der
? ... ?
Notation bedeutet optional - Tcl-Befehle verwenden einen einzelnen Bindestrich anstelle eines doppelten Bindestrichs:
-encoding
anstelle von „--encoding“.
Handbuch
Als Hilfe habe ich ActiveState Tcl 8.5 installiert und es enthält eine Datei namens ActiveTclHelp8.5.chm, das ist meine Bibel.Diese Datei ist sehr detailliert und bietet vollständige Suchfunktionen.Aus Angst vor rechtlichen Konsequenzen kann ich Ihnen diese Datei nicht geben, aber Sie können ActiveState Tcl installieren, um sie zu erhalten.