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手 册 页 翻 译 计 划 》 :
跋
本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh