WISH(1)

NAME
wish - 簡單的窗口式(windowing) shell

總覽
wish [filename] [arg] [arg ...]

選項

-colormap new
    指定窗口使用一個新的私有的調色板(colormap)而不使用給屏幕的缺省的調色板。

-display display
    指定顯示窗口的顯示器(和屏幕)。

-geometry geometry
    初始化用于窗口的幾何(位置、大小)。如果指定了這個選項，它的值存儲在應用的 Tcl 解釋器的 geometry 全局變量中。

-name name
    用 name 作為窗口中顯示的標題(title)，作為被 send 命令使用的解釋器的名字。

-sync
    同步的執行所有 X 服務器命令，這樣出錯就可以立即報告。這將導致執行更慢，但 對調試有用。　-use id 指定應用的主窗口要被嵌入標識符(identifier)為 id 的 窗口中，而不是被建立為一個獨立的頂層窗口。必須用與 toplevel 組件的 -use 選項的值相同的方式指定 Id (例如，它必須與 winfo id 的返回有一樣的形式 (form))。

-visual visual
    指定這個窗口使用的視覺效果(visual)。Visual 必須用 Tk_GetVisual 過程所支持的形式。

- - 傳遞所有剩下的參數到腳本的 argv 變量而不解釋它們。這提供了一種機制來傳遞象 -name 這樣的參數到一個腳本而不讓 wish 解釋它們。

描述
Wish 是一個由 Tcl 命令語言、Tk 工具箱和一個從標準輸入或文件讀命令的主程序 構成的簡單的程序。它建立一個主窗口接著就處理 Tcl 命令。如果不加參數的調用 wish，或者第一個參數以“-”開始，則從標準輸入交互的讀 Tcl 命令。它將 連續的處理命令直到刪除了所有的窗口或在標準輸入上到達文件結束。如果在用戶 的主(home)目錄中存在文件 .wishrc，在從標準輸入讀第一條命令之前，wish 把這 個文件作為一個 Tcl 腳本來求值。 如果調用 wish 時加了一個初始化 fileName 參數，則 fileName 被作為一個腳本 文件的名字對待。Wish 將對 fileName 中的腳本進行求值(可能是建立一個用戶界 面)，接著它將響應事件直到所有窗口被刪除。將不從標準輸入讀命令。 在這種情 況下不自動的對 .wishrc 求值，如果需要的話，腳本文件總是可以 source(包含) 它。

關于選項
Wish 自動的處理在上面選項總結中描述的所有命令行選項。任何其他的命令行參數被用後面描述的 argc 和 argv 變量直接傳遞給應用(程序)。 應用的名字用于象 send 這樣的命令，從如果指定了 -name 選項，則從其中獲得； 否則若指定了fileName則接受之，或者接受調用 wish 所使用的名字。在後兩種情 況，如果名字包含“/”字符，則只有在最後一個反斜槓後面的字符被作為應用的 名字。 應用(程序)的類被用于通過 RESOURCE_MANAGER 屬性或 .Xdefaults 文件來指定選項，除了第一個字母是大寫的之外，類的名字同于應用的名字。

變量
Wish 設置了下列 Tcl 變量: argc 包含 arg 參數的個數(沒有則為 0)，不包括上面描述的選項。 argv 包含一個 Tcl 列表，其成員依次是在 - - 選項後面或不匹配在上面的選項段落描述的任何選項的 arg 參數，如果沒有這些參數則是一個空串。 argv0 如果指定了 fileName 則在此包含。否則。包含調用 wish 使用的名字。　geometry 如果指定了 -geometry 選項，wish 把它的值復制到這個變量中。如果在 fileName 被求值之後這個變量仍然存在，wish 在一個 wm geometry 命令中使用這個值來設置主窗口的幾何(位置、大小)。 tcl_interactive 如果交互式運行 wish 則包含 1(不指定 fileName 並且標準輸入是一個終端類設備)，否則是 0。

腳本文件
如果你建立的 Tcl 腳本文件的第一行是 #!/usr/local/bin/wish 則如果你把它標記為可執行的，接著就可以直接在你的 shell 中調用這個腳本文件。這裡假定了 wish 被安裝在缺省的位置 /usr/local/bin；如果它被安裝在其他地方，那麼你需要修改上述行來匹配之。許多 UNIX 系統不允許 #! 行超出 30 個字符的長度，所以要確定 wish 可執行文件能被用短文件名訪問。 一個更好的途徑是用下面三行來開始你的腳本文件:
#!/bin/sh
# the next line restarts using wish \
exec wish "$0" "$@"
這種方法比起前面的段落有三個好處。首先，wish 二進制文件的位置不需要填入(hard-wired into) 腳本中: 它可以在你的 shell 查找路徑中的任何地方。其次，他超越了(get around)了上種方法的 30 字符的文件名的限制。第三，這種方法在 wish 自身也是 shell 腳本時仍可運行(一些系統要處理多體系或操作系統: wish 腳本選擇某個二進制文件來運行)。第三行導致 sh 和 wish 兩者來處理腳本，但 exec 只被 sh 執行。 sh 首先處理腳本文件；它把第二行作為腳本文件對待並執行第三行。exec 語句導致 shell 停止處理而啟動 wish 來重新處理整個腳本。當 wish 啟動時，因為第二行的反斜線導致第三行被作為第二行注釋的一部分，它把所有三行都作為注釋對待。 提示符 當交互式的調用 wish 時，它通常為每條命令提示“%”。你可以通過設置變量 tcl_prompt1 和 tcl_prompt2 來改變提示符。如果存在變量 tcl_prompt1 則它必須由一個輸出一個提示符的 Tcl 腳本組成；tclsh 對 tcl_prompt1 中的腳本求值而不是輸出一個提示符。變量 tcl_prompt2 以類似的方式用在鍵入了換行而當前命令卻不完整的時候；如果沒設置 tcl_prompt2 則對不完整的命令不給以提示符。

關鍵字
shell, 工具箱

作者
Copyright (C) 1991-1994 The Regents of the University of California.
Copyright (C) 1994-1996 Sun Microsystems, Inc.
Copyright (C) 1995-1997 Roger E. Critchlow Jr.

[中文版維護人]
寒蟬退士

[中文版最新更新]
2001/06/20

《中國linux論壇man手冊頁翻譯計劃》:
http://cmpp.linuxforum.net