在TCL,我們劃分一些變量作為特殊變量,他們有一個預定義的用法/功能。特殊變量列表如下。
| 特殊變量 | 描述 |
|---|---|
| argc | 指命令行參數(shù)的個數(shù)。 |
| argv | 指包含命令行參數(shù)的列表。 |
| argv0 | 是指被解釋的文件或由調(diào)用腳本的名稱的文件名。 |
| env | 用于表示是環(huán)境變量數(shù)組元素。 |
| errorCode | 為最后的Tcl錯誤的錯誤代碼。 |
| errorInfo | 為最后Tcl錯誤的堆棧跟蹤信息。 |
| tcl_interactive | 分別將其設置為1和0交互和非交互模式之間切換。 |
| tcl_library | 用于設置的標準Tcl庫的位置。 |
| tcl_pkgPath | 提供一般都安裝包的目錄列表。 |
| tcl_patchLevel | 指的是Tcl解釋目前的補丁級別。 |
| tcl_platform | 用于表示使用對象,包括byteOrder, machine, osVersion平臺和操作系統(tǒng)數(shù)組元素。 |
| tcl_precision | 指的是精度,即位數(shù)轉(zhuǎn)換為浮點數(shù)時,字符串保留。默認值是12。 |
| tcl_prompt1 | 指的是主提示符。 |
| tcl_prompt2 | 指無效的命令二次提示。 |
| tcl_rcFileName | 為用戶提供了具體的啟動文件。 |
| tcl_traceCompile | 用于控制字節(jié)碼編譯的跟蹤。用0表示無輸出,1為概要和2為詳細。 |
| tcl_traceExec | 用于控制執(zhí)行的字節(jié)碼的跟蹤。用0表示無輸出,1為概要和2為詳細。 |
| tcl_version | 返回Tcl解釋器的最新版本。 |
上述特殊變量都有各自的 Tcl 解釋特殊的含義。
讓我們來看看一些例子特殊變量。
#!/usr/bin/tclsh puts $tcl_version
當運行程序,會得到一個類似的輸出,如下圖所示。
8.5
#!/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
#!/usr/bin/tclsh puts $tcl_pkgPath
當運行程序,會得到一個類似的輸出,如下圖所示。
/usr/lib64/tcl8.5 /usr/share/tcl8.5 /usr/lib64/tk8.5 /usr/share/tk8.5
#!/usr/bin/tclsh puts $tcl_library
當運行程序,會得到一個類似的輸出,如下圖所示。
/usr/share/tcl8.5
#!/usr/bin/tclsh puts $tcl_patchLevel
當運行程序,會得到一個類似的輸出,如下圖所示。
8.5.7
#!/usr/bin/tclsh puts $tcl_precision
當運行程序,會得到一個類似的輸出,如下圖所示。
0
#!/usr/bin/tclsh puts $tcl_rcFileName
當運行程序,會得到一個相似的輸出,如下圖所示。
~/.tclshrc