jammy (3) unknown.3tcl.gz

Provided by: manpages-zh_1.6.3.6-1_all bug

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

       info(n), proc(n)

關鍵字 KEYWORDS

       error, non-existent command

[中文版維護人]

       寒蟬退士

[中文版最新更新]

       2001/09/01

《中國 Linux 論壇 man 手冊頁翻譯計劃》:

       http://cmpp.linuxforum.net

       本頁面中文版由中文 man 手冊頁計劃提供。
       中文 man 手冊頁計劃:https://github.com/man-pages-zh/manpages-zh