Man page - tclsh(1)

Packages contains this manual

    Package:  tcl
    apt-get install tcl
    Manuals in package:
    Documentations in package:

Available languages:

en zh_TW zh_CN

Manual

tclsh

NAME
总 览 SYNOPSIS
描 述
脚 本 文 件 SCRIPT FILES
变 量 VARIABLES
提 示 符 PROMPTS
关 键 字 KEYWORDS
[中 文 版 维 护 人 ]
[中 文 版 最 新 更 新 ]
《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :


______________________________________________________________________________

NAME

tclsh - 包 含 Tcl 解 释 器 的 简 单 的 shell

总 览 SYNOPSIS

tclsh ? fileName arg arg ... ? _________________________________________________________________

描 述

Tclsh 是 一 个 shell 类 应 用 程 序 , 从 它 的 标 准 输 入 或 一 个 文 件 读 Tcl 命 令 并 对 其 求 值 (evaluate)。 如 果 你 不 加 参 数 的 调 用 , 则 它 交 互 式 的 执 行 , 从 标 准 输 入 读 Tcl 命 令 并 向 标 准 输 出 打 印 命 令 结 果 和 出 错 信 息 。 它 一 直 运 行 直 到 调 用 exit 命 令 或 在 它 的 标 准 输 入 上 读 到 文 件 结 束 。 如 果 在 用 户 的 主 (home)目 录 里 存 在 一 个 文 件 .tclshrc (或 在 Windows 平 台 上 的 tclshrc.tcl ), 在 从 标 准 输 入 读 第 一 条 命 令 之 前 , tclsh 把 这 个 文 件 作 为 一 个 Tcl 脚 本 来 求 值 。

脚 本 文 件 SCRIPT FILES

如 果 加 参 数 调 用 tclsh 则 第 一 个 参 数 是 脚 本 文 件 的 名 字 而 任 何 额 外 的 参 数 作 为 给 脚 本 使 用 的 变 量 (见 后 )。 tclsh 将 从 指 名 的 文 件 中 读 Tcl 命 令 而 不 是 从 标 准 输 入 读 取 ; 当 到 达 文 件 结 束 时 tclsh 将 退 出 。 在 这 种 情 况 下 不 自 动 的 对 .tclshrc 求 值 , 如 果 需 要 的 话 , 脚 本 文 件 总 是 可 以 source (包 含 )它 。

如 果 你 建 立 的 Tcl 脚 本 文 件 的 第 一 行 是

#!/usr/local/bin/tclsh

则 如 果 你 把 它 标 记 为 可 执 行 的 , 接 着 就 可 以 直 接 在 你 的 shell 中 调 用 这 个 脚 本 文 件 。 这 里 假 定 了 tclsh 被 安 装 在 缺 省 的 位 置 /usr/local/bin; 如 果 它 被 安 装 在 其 他 地 方 , 那 么 你 需 要 修 改 上 述 行 来 匹 配 之 。 许 多 UNIX 系 统 不 允 许 #! 行 超 出 30 个 字 符 的 长 度 , 所 以 要 确 定 tclsh 可 执 行 文 件 能 被 用 短 文 件 名 访 问 。

一 个 更 好 的 途 径 是 用 下 面 三 行 来 开 始 你 的 脚 本 文 件 :

#!/bin/sh
# the next line restarts using tclsh \
exec tclsh "$0" "$@"

这 种 方 法 比 起 前 面 的 段 落 有 三 个 好 处 。 首 先 , tclsh 二 进 制 文 件 的 位 置 不 需 要 填 入 (hard-wired into) 脚 本 中 : 它 可 以 在 你 的 shell 查 找 路 径 中 的 任 何 地 方 。 其 次 , 他 超 越 了 (get around)了 上 种 方 法 的 30 字 符 的 文 件 名 的 限 制 。 第 三 , 这 种 方 法 在 tclsh 自 身 也 是 shell 脚 本 时 仍 可 运 行 (一 些 系 统 要 处 理 多 体 系 或 操 作 系 统 : tclsh 脚 本 选 择 某 个 二 进 制 文 件 来 运 行 )。 第 三 行 导 致 sh tclsh 两 者 来 处 理 脚 本 , 但 exec 只 被 sh 执 行 。 sh 首 先 处 理 脚 本 文 件 ; 它 把 第 二 行 作 为 脚 本 文 件 对 待 并 执 行 第 三 行 。 exec 语 句 导 致 shell 停 止 处 理 而 启 动 tclsh 来 重 新 处 理 整 个 脚 本 。 当 tclsh 启 动 时 , 因 为 第 二 行 的 反 斜 线 导 致 第 三 行 被 作 为 第 二 行 注 释 的 一 部 分 , 它 把 所 有 三 行 都 作 为 注 释 对 待 。

You should note that it is also common practise to install tclsh with 2 its version number as part of the name. This has the advantage of 2 allowing multiple versions of Tcl to exist on the same system at once, 2 but also the disadvantage of making it harder to write scripts that 2 start up uniformly across different versions of Tcl.

变 量 VARIABLES

Tclsh 设 置 了 下 列 Tcl 变 量 :

argc

包 含 arg 参 数 的 个 数 (没 有 则 为 0), 不 包 括 脚 本 文 件 的 名 字 。

argv

包 含 一 个 Tcl 列 表 , 其 元 素 依 次 是 arg 参 数 , 如 果 没 有 arg 参 数 则 是 一 个 空 串 。

argv0

如 果 指 定 了 fileName 则 在 此 包 含 。 否 则 。 包 含 调 用 tclsh 使 用 的 名 字 。

tcl_interactive

如 果 交 互 式 运 行 tclsh 则 包 含 1(不 指 定 fileName 并 且 标 准 输 入 是 一 个 终 端 类 设 备 ), 否 则 是 0。

提 示 符 PROMPTS

当 交 互 式 的 调 用 tclsh 时 , 它 通 常 为 每 条 命 令 提 示 “ % ”。 你 可 以 通 过 设 置 变 量 tcl_prompt1 tcl_prompt2 来 改 变 提 示 符 。 如 果 存 在 变 量 tcl_prompt1 则 它 必 须 由 一 个 输 出 一 个 提 示 符 的 Tcl 脚 本 组 成 ; tclsh tcl_prompt1 中 的 脚 本 求 值 而 不 是 输 出 一 个 提 示 符 。 变 量 tcl_prompt2 以 类 似 的 方 式 用 在 键 入 了 换 行 而 当 前 命 令 却 不 完 整 的 时 候 ; 如 果 没 设 置 tcl_prompt2 则 对 不 完 整 的 命 令 不 给 以 提 示 符 。

关 键 字 KEYWORDS

argument, interpreter, prompt, script file, shell

[中 文 版 维 护 人 ]

寒 蝉 退 士

[中 文 版 最 新 更 新 ]

2001/06/20

《 中 国 linux论 坛 man手 册 页 翻 译 计 划 》 :

http://cmpp.linuxforum.net

本 页 面 中 文 版 由 中 文 man 手 册 页 计 划 提 供 。
中 文 man 手 册 页 计 划 : https://github.com/man-pages-zh/manpages-zh