|
Harley Hahn 的
|
|
各章...
命令
教师 |
附录 G... Shell 选项与 Shell 变量 (Shell Options & Shell Variables)
每种 Shell 都提供了许多方式,让你可以
控制它的行为。Bourne Shell 家族(Bash、
Korn Shell)使用 Shell 选项;而
关于 Shell 选项和 Shell 变量的详细 讨论,请参见第 12 章。
Bourne Shell 家族使用大量选项来 控制 Shell 的行为。尤其是,交互式 Shell 所需的选项与非交互式 Shell 不同。(事实上,这正是它们成为 交互式 Shell 的原因。) 指定这类选项有两种方式。第一, 按标准方式调用:在启动 Shell 时于 命令行上指定选项。自动运行的 非交互式 Shell 属于这种情况,你自己 通过输入命令启动的交互式 Shell 也是 这种情况。例如: bash -vx (顺带一提,当你要测试或调试 Shell 脚本时,这两个选项格外有用。) 在交互式 Shell 内部 — 也就是在 Shell 提示符下 — 你可以随时打开 或关闭选项。要设置(打开)某个选项, 使用 set ‑o 命令。要取消 (关闭)某个选项,使用 set +o 命令。使用这些命令时,你要给出 选项的长名称,而不是它的缩写。 例如:
set -o verbose
要显示所有选项的当前状态,单独 使用其中任意一个命令即可:
set -o
-o 这种形式会打印便于人阅读的 输出;+o 则打印适合脚本使用的 输出。(不妨试一试。) 总而言之,Bourne Shell 家族使用的 Shell 选项非常多。大多数情况下, 你并不需要改动它们,因为默认值就 已经很好用。不过作为参考,图 G-1 中的表格汇总了 Bash 和 Korn Shell 的 Shell 选项。并非所有选项在所有 Shell 中都可用,所以一定要看最左边 那一列,它显示了每个选项分别被 哪些 Shell 支持。 提示 在 Bash 中,还有一些额外的选项可以 用来控制各种特性。要设置和取消这些 选项,你使用 shopt("shell options") 命令。这些 shopt 选项极为冷僻, 你多半用不到。不过,如果你有空想 看一看,请参阅 shopt 的 man 手册页。 如果你有空想看一下这些选项, 了解 shopt 选项最好的地方是 Bash 的 man 手册页。要找到相关讨论, 可以搜索 "shopt"。 图 G-1: Bourne Shell 家族:Shell 选项(Figure G-1: Bourne Shell family: Shell options) 这张表汇总了 Bourne 家族 Shell 中 重要的 Shell 选项。最左边一列显示 各个选项被哪些 Shell 支持:B = Bash; K = Korn Shell。圆点表示某个 Shell 不支持该选项。请注意,有些选项 (例如 bgnice)只有长名称,而没有 短选项名。要了解更多信息,请参阅 你所用 Shell 的 man 手册页。 说明:(1) Bash 虽然支持 emacs 和 vi 选项,但并不使用 -E 和 -V。(2) Korn Shell 使用 -h 和 -t,但不支持长名称 hashall 和 onecmd。 |
|
|
|
图 G-3: C-Shell 家族:Shell 变量(Figure G-3: C-Shell family: Shell variables) 这张表汇总了 C-Shell 家族中用来 控制 Shell 行为的重要 Shell 变量。 最左边一列显示各个选项被哪些 Shell 支持:C = C-Shell; T = Tcsh。圆点表示某个 Shell 不支持该选项。 要了解更多信息,请参阅你的 Shell 的 man 手册页。要了解有关 自动补全、拼写纠正或命令行编辑的 信息,请参阅 Tcsh 的 man 手册页。 关于 Shell 变量的详细讨论,请参见 第 12 章。 |
|
|
© 本书全部内容,2026 年版权所有,Harley Hahn
|