______________________________________________________________________________
NAME
unknown - 處 理 對 使 用 不 存 在 命 令 的 嘗 試
總 覽 SYNOPSIS
unknown cmdName ?arg arg ...? _________________________________________________________________
描 述 DESCRIPTION
在 一 個 腳 本 嘗 試 調 用 一 個 不 存 在 的 命 令 的 時 候 , Tcl 解 釋 器 將 調 用 這 個 命 令 。 unknown 的 實 現 不 是 Tcl 核 心 的 一 部 分 ; 但 是 在 Tcl 啓 動 的 時 候 , 它 是 一 個 被 缺 省 定 義 的 庫 過 程 。 你 可 以 覆 蓋 這 個 缺 省 的 unknown 來 改 變 它 的 功 能 。 如 果 Tcl 解 釋 器 遇 到 一 個 命 令 名 而 沒 有 爲 它 一 個 定 義 了 的 命 令 , 則 Tcl 檢 查 是 否 存 在 一 個 叫 unknown 的 命 令 。 如 果 沒 有 這 個 命 令 , 則 解 釋 器 返 回 一 個 錯 誤 。 如 果 unknown 命 令 存 在 , 則 調 用 它 並 加 上 由 被 完 全 替 換 過 的 名 字 組 成 的 參 數 和 給 最 初 的 不 存 在 的 命 令 的 參 數 。 典 型 的 , unknown 命 令 做 在 庫 目 錄 中 查 找 名 字 是 cmdName 的 一 個 命 令 過 程 , 把 縮 寫 的 命 令 名 擴 展 成 全 長 的 名 字 , 或 自 動 的 作 爲 子 進 程 執 行 未 知 命 令 等 事 情 。 在 這 些 情 況 下 (比 如 擴 展 縮 寫 ) unknown 將 輕 微 的 改 變 最 初 的 命 令 , 接 着 (重 )執 行 它 。 unknown 命 令 的 結 果 被 用 做 最 初 的 不 存 在 的 命 令 的 結 果 。
unknown 的 缺 省 實 現 的 行 爲 如 下 。 它 首 先 調 用 auto_load 庫 過 程 來 裝 載 命 令 , 接 着 它 用 最 初 的 參 數 執 行 最 初 的 命 令 。 如 果 自 動 裝 載 失 敗 則 unknown 調 用 auto_execok 來 看 是 否 有 一 個 叫 cmd 的 可 執 行 文 件 。 如 果 有 , 它 調 用 Tcl exec 命 令 並 加 上 cmd 和 所 有 args 作 爲 參 數 。 如 果 cmd 不 可 自 動 執 行 , unknown 檢 查 是 否 在 頂 層 調 用 這 個 命 令 並 在 任 何 腳 本 的 外 部 。 如 果 是 這 樣 , 則 unknown 進 行 兩 個 額 外 的 步 驟 。 首 先 它 參 看 cmd 是 否 是 下 列 三 種 形 式 之 一 : !!, !event, 或 ^old^new?^?。 如 果 是 這 樣 , 則 unknown 用 與 csh 相 同 的 方 式 對 這 些 構 造 (construct)進 行 歷 史 替 換 。 最 後 , unknown 檢 查 cmd 是 否 是 一 個 現 存 的 Tcl 命 令 的 縮 寫 。 如 果 是 , 它 擴 展 命 令 名 並 用 最 初 的 參 數 執 行 這 個 命 令 。 如 果 上 述 努 力 都 不 能 執 行 這 個 命 令 , unknown 返 回 一 個 錯 誤 。 如 果 定 義 了 全 局 變 量 auto_noload , 則 跳 過 自 動 裝 載 步 驟 。 如 果 定 義 了 全 局 變 量 auto_noexec, 則 跳 過 自 動 執 行 步 驟 。 在 通 常 的 條 件 下 , unknown 的 返 回 值 就 是 最 終 執 行 的 命 令 的 返 回 值 。
參 見 SEE ALSO
關 鍵 字 KEYWORDS
error, non-existent command
[中 文 版 維 護 人 ]
寒 蟬 退 士
[中 文 版 最 新 更 新 ]
2001/09/01
《 中 國 Linux 論 壇 man 手 冊 頁 翻 譯 計 劃 》 :
跋
本 頁 面 中 文 版 由 中 文 man 手 冊 頁 計 劃 提 供 。 中 文 man 手 冊 頁 計 劃 : https://github.com/man-pages-zh/manpages-zh