tclsh is an application created by default by the core distribution of [tcl]. It is a simple shell interpreter, and is frequently used by developers for writing and executing tcl scripts. A user of tclsh (or of [wish], the interactive tcl shell with Tk automatically loaded), should be aware that there are a few differences between typing tcl statements to the shell in interactive mode and saving tcl commands into a file and then asking tclsh to execute that command file. The differences between tclsh in interactive mode and command file behavior include: 1. the [tcl_interactive] variable interactive: this variable is set command file: this variable is set to 0 2. [unknown] [proc] differences - if tclsh is unable to recognize a command, the unknown proc is invoked. interactive: unknown will automatically pass the command string to [exec] . command file: unknown will raise an error. The coder must code '''exec''' before any non-tcl commands. 3. command abbreviations interactive: the unknown command looks to see if the typed command is an unambiguous abbreviation of an existing command and, if it is, invokes it. Thus in interactive mode it's possible to write set fp [op $myfile] and see tclsh execute the [open] proc . command file: coder is required to write the string '''open''' be written out in full. 4. standard output displayed interactive: after tclsh executes a command, it writes the value of that command to the user's stdout screen. command file: the coder must code a [puts] to get the output from a command to display to the stdout screen 5. byte-compilation interactive: commands typed at a prompt are byte compiled command file: top level commands (ones not coded within a proc) are not byte compiled ---- People writing scripts to be loaded from the ''tclsh'' command line should be aware that [\u001a is an end-of-file character in scripts]. ---- Leibniz (1646-1716) would have loved an interactive tclsh: ''"Es wird dann beim Auftreten von Streitfragen für zwei Philosophen nicht mehr Aufwand an wissenschaftlichem Gespräch erforderlich sein als für zwei Rechnerfachleute. Es wird genügen, Schreibzeug zur Hand zu nehmen, sich vor das Rechengerät zu setzen und zueinander (wenn es gefällt, in freundschaftlichem Ton) zu sagen: Laßt uns rechnen."'' ---- [tclsh vs. wish] ---- [Category Application], a part of the [Tcl] package.