______________________________________________________________________________
NAME
tclsh - 包 含 Tcl 解 釋 器 的 簡 單 的 shell
總 覽 SYNOPSIS
tclsh ?fileName arg arg ...? _________________________________________________________________
描 述
Tclsh 是 一 個 shell 類 應 用 程 序 , 從 它 的 標 準 輸 入 或 一 個 文 件 讀 Tcl 命 令 並 對 其 求 值 (evaluate)。 如 果 你 不 加 參 數 的 調 用 , 則 它 交 互 式 的 執 行 , 從 標 準 輸 入 讀 Tcl 命 令 並 向 標 準 輸 出 打 印 命 令 結 果 和 出 錯 信 息 。 它 一 直 運 行 直 到 調 用 exit 命 令 或 在 它 的 標 準 輸 入 上 讀 到 文 件 結 束 。 如 果 在 用 戶 的 主 (home)目 錄 裏 存 在 一 個 文 件 .tclshrc (或 在 Windows 平 臺 上 的 tclshrc.tcl), 在 從 標 準 輸 入 讀 第 一 條 命 令 之 前 , tclsh 把 這 個 文 件 作 爲 一 個 Tcl 腳 本 來 求 值 。
腳 本 文 件 SCRIPT FILES
如 果 加 參 數 調 用 tclsh 則 第 一 個 參 數 是 腳 本 文 件 的 名 字 而 任 何 額 外 的 參 數 作 爲 給 腳 本 使 用 的 變 量 (見 後 )。 tclsh 將 從 指 名 的 文 件 中 讀 Tcl 命 令 而 不 是 從 標 準 輸 入 讀 取 ; 當 到 達 文 件 結 束 時 tclsh 將 退 出 。 在 這 種 情 況 下 不 自 動 的 對 .tclshrc 求 值 , 如 果 需 要 的 話 , 腳 本 文 件 總 是 可 以 source(包 含 )它 。 如 果 你 建 立 的 Tcl 腳 本 文 件 的 第 一 行 是
#!/usr/local/bin/tclsh
則 如 果 你 把 它
標 記 爲 可 執 行
的 , 接 着 就 可
以 直 接 在 你 的 shell
中 調 用 這 個 腳
本 文 件 。 這 裏
假 定 了 tclsh 被 安
裝 在 缺 省 的 位
置 /usr/local/bin; 如 果 它
被 安 裝 在 其 他
地 方 , 那 麼 你
需 要 修 改 上 述
行 來 匹 配 之 。
許 多 UNIX 系 統 不 允
許 #! 行 超 出 30 個
字 符 的 長 度 ,
所 以 要 確 定 tclsh
可 執 行 文 件 能
被 用 短 文 件 名
訪 問 。 一 個 更
好 的 途 徑 是 用
下 面 三 行 來 開
始 你 的 腳 本 文
件 :
#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@" 這
種 方 法 比 起 前
面 的 段 落 有 三
個 好 處 。 首 先
, tclsh 二 進 制 文
件 的 位 置 不 需
要 填 入 (hard-wired into) 腳
本 中 : 它 可 以 在
你 的 shell 查 找 路 徑
中 的 任 何 地 方
。 其 次 , 他 超
越 了 (get around)了 上 種
方 法 的 30 字 符 的
文 件 名 的 限 制
。 第 三 , 這 種
方 法 在 tclsh 自 身
也 是 shell 腳 本 時 仍
可 運 行 (一 些 系
統 要 處 理 多 體
系 或 操 作 系 統 :
tclsh 腳 本 選 擇 某
個 二 進 制 文 件
來 運 行 )。 第 三
行 導 致 sh 和 tclsh
兩 者 來 處 理 腳
本 , 但 exec 只 被
sh 執 行 。 sh 首
先 處 理 腳 本 文
件 ; 它 把 第 二
行 作 爲 腳 本 文
件 對 待 並 執 行
第 三 行 。 exec 語
句 導 致 shell 停 止 處
理 而 啓 動 tclsh 來
重 新 處 理 整 個
腳 本 。 當 tclsh 啓
動 時 , 因 爲 第
二 行 的 反 斜 線
導 致 第 三 行 被
作 爲 第 二 行 註
釋 的 一 部 分 ,
它 把 所 有 三 行
都 作 爲 註 釋 對
待 。
You should note that it is also common practise to install tclsh with │ its version number as part of the name. This has the advantage of │ allowing multiple versions of Tcl to exist on the same system at once, │ but also the disadvantage of making it harder to write scripts that │ start up uniformly across different versions of Tcl.
變 量 VARIABLES
Tclsh 設 置 了 下 列 Tcl 變 量 :
argc 包 含 |
arg 參 數 的 個 數 (沒 有 則 爲 0), 不 包 括 腳 本 文 件 的 名 字 。
個 Tcl 列 表 , 其 元 素 依 次 是 arg 參 數 , 如 果 沒 有 arg 參 數 則 是 一 個 空 串 。 如 果 指 定 了 fileName 則 在 此 包 含 。 否 則 。 包 含 調 用 tclsh 使 用 的 名 字 。 tcl_interactive 如 果 交 互 式 運 行 tclsh 則 包 含 1(不 指 定 fileName 並 且 標 準 輸 入 是 一 個 終 端 類 設 備 ), 否 則 是 0。 提 示 符 PROMPTS當 交 互 式 的 調 用 tclsh 時 , 它 通 常 爲 每 條 命 令 提 示 “%”。 你 可 以 通 過 設 置 變 量 tcl_prompt1 和 tcl_prompt2 來 改 變 提 示 符 。 如 果 存 在 變 量 tcl_prompt1 則 它 必 須 由 一 個 輸 出 一 個 提 示 符 的 Tcl 腳 本 組 成 ; tclsh 對 tcl_prompt1 中 的 腳 本 求 值 而 不 是 輸 出 一 個 提 示 符 。 變 量 tcl_prompt2 以 類 似 的 方 式 用 在 鍵 入 了 換 行 而 當 前 命 令 卻 不 完 整 的 時 候 ; 如 果 沒 設 置 tcl_prompt2 則 對 不 完 整 的 命 令 不 給 以 提 示 符 。 關 鍵 字 KEYWORDSargument, interpreter, prompt, script file, shell [中 文 版 維 護 人 ]寒 蟬 退 士 [中 文 版 最 新 更 新 ]2001/06/20 《 中 國 linux論 壇 man手 冊 頁 翻 譯 計 劃 》 :跋本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh |