TCL特殊变量 - Tcl教程

在TCL,我们划分一些变量作为特殊变量,他们有一个预定义的用法/功能。特殊变量列表如下。

特殊变量 描述
argc 指命令行参数的个数。
argv 指包含命令行参数的列表。
argv0 是指被解释的文件或由调用脚本的名称的文件名。
env 用于表示是环境变量数组元素。
errorCode 为最后的Tcl错误的错误代码。
errorInfo 为最后Tcl错误的堆栈跟踪信息。
tcl_interactive 分别将其设置为1和0交互和非交互模式之间切换。
tcl_library 用于设置的标准Tcl库的位置。
tcl_pkgPath 提供一般都安装包的目录列表。
tcl_patchLevel 指的是Tcl解释目前的补丁级别。
tcl_platform 用于表示使用对象,包括byteOrder, machine, osVersion平台和操作系统数组元素。
tcl_precision 指的是精度,即位数转换为浮点数时,字符串保留。默认值是12。
tcl_prompt1 指的是主提示符。
tcl_prompt2 指无效的命令二次提示。
tcl_rcFileName 为用户提供了具体的启动文件。
tcl_traceCompile 用于控制字节码编译的跟踪。用0表示无输出,1为概要和2为详细。
tcl_traceExec 用于控制执行的字节码的跟踪。用0表示无输出,1为概要和2为详细。
tcl_version 返回Tcl解释器的最新版本。

上述特殊变量都有各自的 Tcl 解释特殊的含义。

使用Tcl的特殊变量的例子

让我们来看看一些例子特殊变量。

Tcl 版本

#!/usr/bin/tclsh

puts $tcl_version

当运行程序,会得到一个类似的输出,如下图所示。

8.5

TCL环境路径

#!/usr/bin/tclsh

puts $env(PATH)

当运行程序,会得到一个类似的输出,如下图所示。

/web/com/GNUstep/Tools:/usr/GNUstep/Local/Tools:/usr/GNUstep/System/Tools:/usr/local/sml/bin:/usr/local/flex/bin:/usr/local/gcc-4.8.1/bin:/usr/share/java:.:/usr/share/java:/usr/lib/jvm/java/lib:/usr/lib/jvm/java/jre/lib:/usr/local/bin:/usr/local/mozart/bin:/usr/local/go/bin:/usr/local/factor/:/usr/local/groovy-2.1.7/bin:/opt/Pawn/bin/:/usr/local/icon-v950/bin:/usr/local/lib/mono/4.0:/usr/lib64/qtC.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/Pawn/bin:/usr/local/dart/bin:/usr/local/julia/usr/bin:/usr/local/julia:/usr/local/scriptbasic/bin

TCL程序包路径

#!/usr/bin/tclsh

puts $tcl_pkgPath

当运行程序,会得到一个类似的输出,如下图所示。

/usr/lib64/tcl8.5 /usr/share/tcl8.5 /usr/lib64/tk8.5 /usr/share/tk8.5

TCL库

#!/usr/bin/tclsh

puts $tcl_library

当运行程序,会得到一个类似的输出,如下图所示。

/usr/share/tcl8.5

TCL补丁级别

#!/usr/bin/tclsh

puts $tcl_patchLevel

当运行程序,会得到一个类似的输出,如下图所示。

8.5.7

TCL精度

#!/usr/bin/tclsh

puts $tcl_precision

当运行程序,会得到一个类似的输出,如下图所示。

0

TCL启动文件

#!/usr/bin/tclsh

puts $tcl_rcFileName

当运行程序,会得到一个相似的输出,如下图所示。

~/.tclshrc