A-A+
TCL中的预定义变量
TCL库自动创建和管理了一些全局变量,下面介绍几个常用的全局变量。
当调用tclsh或wish脚本文件时,脚本文件的文件名存放在argv0中,命令行参数以列表形式存放在变量argv中,命令行参数的个数存放在变量argc中。如下面这段tclsh脚本:
#!/usr/bin/env tclsh
puts “The command name is \”$argv0\””
puts “There were $argc arguments: $argv”
如果把这个脚本放在名为printargs的文件中,把这个文件设为可执行文件,然后从命令外壳中调用它,则会输出一些有关它的参数的信息。
printargs red green blue
The command name is "printargs
There were 3 arguments: red green blue
变量env是由TCL预定义的。它是一个数组变量,其元素是所有过程的环境变量。例如,下面这条命令输出用户的主文件夹,由HOME环境变量设定:
puts “Your home direcotry is $env(HOME)”
变量 tcl_platform是一个数组变量,其元素是对应用程序正在运行的平台的描述,例如操作系统的名称和当前版本号,以及机器的指令集。
puts $tcll_plat form(platform)
windows
puts $tcl_Platform(os)
Windows NT
puts $stcl_platform(machine)
amd64
当编写必须不加改动就同时可以在 Windows和Unix中运行的脚本时,该数组特别有用。根据这个数组的值,可以执行相应平台所需要的平台特有代码。