Provided by:
manpages-zh_1.5-1_all 
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 08 1991-1994 The Regents of the University of California.
Copyright 08 1994-1996 Sun Microsystems, Inc.
Copyright 08 1995-1997 Roger E. Critchlow Jr.
[[2001/06/20
ã€å䏿³å›é·linuxan:
http://cmpp.linuxforum.net
WISH(1)