______________________________________________________________________________
NAME
switch - 依 据 一 个 给 定 的 值 对 多 个 脚 本 中 的 一 个 进 行 求 值
总 览 SYNOPSIS
switch ?options? string pattern body ?pattern body ...?
switch ?options? string {pattern body ?pattern body ...?} _________________________________________________________________
描 述 DESCRIPTION
switch 命 令 依 次 针 对 每 个 pattern (模 式 )参 数 匹 配 它 的 string 参 数 。 如 果 它 发 现 一 个 pattern 匹 配 string, 则 立 即 通 过 把 跟 随 在 (这 个 模 式 )后 面 的 body 参 数 递 归 的 传 递 给 Tcl 解 释 器 来 求 值 它 , 并 返 回 这 次 求 值 的 结 果 。 如 果 最 后 的 pattern 参 数 是 default, 则 它 匹 配 所 有 的 东 西 。 如 果 没 有 pattern 参 数 匹 配 string 并 且 没 有 给 出 缺 省 , 则 switch 命 令 返 回 一 个 空 串 。 如 果 给 switch 的 最 初 的 参 数 以 - 开 始 , 则 它 们 被 作 为 选 项 来 对 待 。 当 前 支 持 下 列 选 项 :
-exact 当 与 一 个 模 式 比 较 |
string 的 时 候 , 使 用 精 确 匹 配 。 这 是 缺 省 的 。 | ||
-glob 当 与 一 个 模 式 比 较 |
string 的 时 候 , 使 用 通 配 符 式 样 的 匹 配 (与 |
string match 命 令 所 实 现 的 相 同 )。
-regexp 当 与 一 个 模 式 比 较 |
string 的 时 候 , 使 用 正 则 表 达 式 匹 配 (在 |
re_syntax 参 考 页 中 描 述 )。
-- 选 项 结 束 的 标 志 。 此 后 的 参 数 即 使 以 |
- 开 始 仍 被 作 为 string 来 对 |
待 。 为 pattern 和 body 参 数 提 供 了 两 个 语 法 。 第 一 个 是 对 于 每 个 模 式 和 命 令 使 用 一 个 独 立 的 参 数 ; 如 果 在 一 些 模 式 或 命 令 上 需 要 替 换 , 则 这 种 形 式 是 很 方 便 的 。 第 二 种 形 式 是 把 所 有 的 模 式 和 命 令 放 在 一 起 作 为 一 个 单 一 的 参 数 ; 这 个 参 数 必 须 有 正 确 的 列 表 结 构 , 它 的 元 素 是 模 式 和 命 令 。 第 二 种 形 式 适 合 于 构 造 多 行 switch 命 令 , 因 为 花 括 号 包 围 着 所 有 元 素 , 所 以 没 有 必 要 在 每 行 结 束 之 处 包 含 一 个 反 斜 杠 。 在 第 二 种 形 式 中 因 为 pattern参 数 在 花 括 号 中 , 所 以 在 它 们 上 不 进 行 命 令 和 变 量 替 换 ; 这 使 得 第 二 种 形 式 的 行 为 在 一 些 情 况 下 与 第 一 种 形 式 不 同 。 如 果 指 定 一 个 body 为 ’’-’’, 则 意 味 着 给 下 一 个 模 式 的 body 也 被 用 于 这 个 模 式 (如 果 下 一 个 模 式 也 有 一 个 执 行 体 “-”则 使 用 它 后 面 的 这 个 执 行 体 , 以 此 类 推 )。 这 个 特 征 使 在 多 个 模 式 之 间 共 享 一 个 单 一 的 body 成 为 可 能 。 在 switch 命 令 放 置 注 释 要 注 意 。 注 释 只 能 放 置 在 一 个 模 式 的 执 行 体 中 , 而 不 能 与 模 式 混 合 。 下 面 是 switch 命 令 的 一 些 例 子 :
switch abc a - b {format 1}
abc {format 2} default {format 3} 将 返
回2,
switch -regexp aaab {
^a.*b$ - | ||
b {format 1} | ||
a* {format 2} | ||
default {format 3} } 将 返 回 1, 而 |
switch xyz {
a | |||
- | |||
b | |||
{ | |||
# Correct Comment Placement | |||
format 1 | |||
} | |||
a* | |||
{format 2} | |||
default | |||
{format 3} } 将 返 回 3. |
参 见 SEE ALSO
关 键 字 KEYWORDS
switch, match, regular expression
[中 文 版 维 护 人 ]
寒 蝉 退 士
[中 文 版 最 新 更 新 ]
2001/11/15
《 中 国 Linux 论 坛 man 手 册 页 翻 译 计 划 》 :
跋
本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。 中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh