A '''script''' is code written in the [scripting language%|%language] of an interpreter such as [Tcl]. ** See Also ** [Many ways to eval]: enumerates the ways to evaluate a string as a script [cmdSplit%|%scriptSplit]: split a script into its constituent commands [parsetcl]: [scripted list]: use a script as a list ** Description ** In [Tcl], a script is a collection of 1 or more Tcl commands separated by semicolon or newline. A script can be handed to Tcl in various ways: invocation of an interpreter such as [tclsh]: The name of the file can be passed as an argument `[source]`: the file name can be passed as an argument. `[eval]`: arguments are concatenated and evaluated as a script. `[script substitution]`: A script is embedded directly in another script. A script often provides a [library] for use by other scripts. Tcl's sparse syntax makes it particularly convenient to embed code written in another language directly into a Tcl script. [SQL], [Perl], [ksh], [awk], or even [C] code can then be handed off to to some other interpreter for evaluation. [SQL] is probably the most well-known example of this. When dynamically generating scripts for another language, it is necessary to be aware of possible [Injection Attack%|%injection attacks]. <> Glossary