这是 tcsh 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器
程序:
您的姓名
tcsh - 具有文件名补全和命令行编辑功能的 C shell
概要
tcsh的 [-bcdefFimnqstvVxX[-名称[=值]] [参数...]
tcsh的 -l
商品描述
tcsh的 是 Berkeley UNIX C shell 的增强但完全兼容的版本,
长山壕(1). 它是一个命令语言解释器,可用作交互式登录 shell
和一个 shell 脚本命令处理器。 它包括一个命令行编辑器(见 这个 命令-
线 编辑), 可编程字补全(见 完成 和 清单), 拼写
更正(见 拼写单词 更正),一种历史机制(见 发展历程 代换), 工作
控制(见 工作机会) 和类似 C 的语法。 这 新品 特色 部分描述了主要
的增强 tcsh的 超过 长山壕(1). 在本手册中,特性 tcsh的 没有找到
最先进的 长山壕(1) 实现(特别是 4.4BSD 长山壕) 标有“(+)”,并且
存在于 长山壕(1) 但通常没有记录的标有“(u)”。
争论 名单 加工
如果 shell 的第一个参数(参数 0)是“-”,那么它就是一个登录 shell。 登录
shell 也可以通过调用 shell 来指定 -l 标记为唯一参数。
其余的标志参数解释如下:
-b 从选项处理中强制“中断”,导致任何进一步的 shell 参数
视为非选项参数。 其余参数不会被解释为
外壳选项。 这可用于将选项传递给 shell 脚本而不会造成混淆
或可能的诡计。 如果没有这个,shell 将不会运行设置用户 ID 脚本
选项。
-c 命令从以下参数中读取(该参数必须存在,并且必须是一个
单个参数),存储在 命令 shell 变量供参考,并执行。
任何剩余的参数都放在 精液 外壳变量。
-d 外壳程序从中加载目录堆栈 〜/.cshdirs 如下所述 创业公司 和
关闭, 是否是登录 shell。 (+)
-D姓名[=折扣值]
设置环境变量 姓名 至 折扣值. (仅限域/操作系统)(+)
-e 如果任何调用的命令异常终止或产生非零退出,shell 将退出
状态。
-f shell 不加载任何资源或启动文件,也不执行任何命令散列,
因此启动速度更快。
-F 外壳使用 叉(2)代替 叉子(2) 产生进程。 (+)
-i shell 是交互式的并提示输入它的顶级输入,即使它看起来像
不是终端。 如果 shell 的输入和
输出是终端。
-l 该外壳是一个登录外壳。 仅适用于 -l 是唯一指定的标志。
-m 外壳加载 〜/.tcshrc 即使它不属于有效用户。 较新
版本 su(1)可以通过 -m 到外壳。 (+)
-n shell 解析命令但不执行它们。 这有助于调试 shell
脚本。
-q shell 接受 SIGQUIT(见 信号 处理) 并在以下情况下使用时表现
调试器。 作业控制被禁用。 (u)
-s 命令输入取自标准输入。
-t shell 读取并执行单行输入。 “\”可用于转义
在此行的末尾换行并继续到另一行。
-v 设置 详细 shell 变量,以便在历史记录后回显命令输入
代换。
-x 设置 回音 shell 变量,以便命令在之前立即回显
执行。
-V 设置 详细 shell 变量甚至在执行之前 〜/.tcshrc.
-X 是要 -x as -V 是 -v.
- 帮帮我
在标准输出上打印帮助消息并退出。 (+)
- 版
在标准输出上打印版本/平台/编译选项并退出。 这个
信息也包含在 版本 外壳变量。 (+)
处理标志参数后,如果参数保留但没有 -c, -i, -s或 -t
给出了选项,第一个参数被视为命令文件的名称,或
``脚本'',要执行。 shell 打开这个文件并保存它的名字以备不时之需
用'$0'重新替换。 因为许多系统使用标准版本 6 或版本
7个shell脚本与这个shell不兼容,shell使用了这样的
`standard' shell 执行第一个字符不是 `#' 的脚本,即
不要从评论开始。
其余参数放在 精液 外壳变量。
创业公司 和 关闭
登录 shell 从执行系统文件中的命令开始 /etc/csh.cshrc 和
/etc/csh.login. 然后它从用户的文件中执行命令 主页 目录:第一
〜/.tcshrc (+) 或者,如果 〜/.tcshrc 没有找到, 〜/.cshrc, 然后 ~/.历史 (或值
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 历史文件 shell 变量),然后 ~/.登录,最后 〜/.cshdirs (或价值
目录文件 外壳变量)(+)。 外壳可能会读 /etc/csh.login 之前而不是之后
/etc/csh.cshrc和 ~/.登录 之前而不是之后 〜/.tcshrc or 〜/.cshrc 和 ~/.历史,
如果这样编译; 见 版本 外壳变量。 (+)
非登录 shell 只读 /etc/csh.cshrc 和 〜/.tcshrc or 〜/.cshrc 在启动时。
启动文件示例请参考 http://tcshrc.sourceforge.net.
命令像 姿势(1)和 预设(1),每次登录只需要运行一次,通常进入
那些 ~/.登录 文件。 需要同时使用同一组文件的用户 长山壕(1)和
tcsh的 只能有一个 〜/.cshrc 它检查是否存在 tcsh的 外壳变量
(qv) 使用前 tcsh的-特定的命令,或者可以同时具有 〜/.cshrc 和 〜/.tcshrc
这 资源s(参见内置命令) 〜/.cshrc. 本手册的其余部分使用
`〜/.tcshrc' 的意思是`〜/.tcshrc 或者如果 〜/.tcshrc 没有找到, 〜/.cshrc'.
在正常情况下,shell 开始从终端读取命令,提示`>
'。 (参数的处理和使用 shell 来处理包含命令的文件
脚本将在后面描述。)shell 反复读取一行命令输入,中断
将其转化为单词,将其放在命令历史列表中,对其进行解析并执行每个命令
在行中。
可以通过在空行中键入“^D”、“logout”或“login”或通过 shell 的
自动退出机制(见 自动退出 壳变量)。 当登录 shell 终止时
它设置 注销 根据需要将 shell 变量设置为“正常”或“自动”,然后执行
来自文件的命令 /etc/csh.logout 和 〜/.注销. 外壳可能会在注销时丢弃 DTR
如果这样编译; 见 版本 外壳变量。
系统登录和注销文件的名称因系统而异
与不同的兼容性 长山壕(1) 变体; 看 FILES.
编辑
我们首先描述 这个 命令行 编辑。 该 完成 和 清单 和 拼写单词
更正 部分描述了作为编辑器实现的两组功能
命令,但值得他们自己对待。 最后, 编者 命令 列出和
描述特定于 shell 的编辑器命令及其默认绑定。
这个 命令行 编辑 (+),
命令行输入可以使用与 GNU Emacs 或
vi(1). 编辑器仅在 编辑 shell 变量被设置,它是由
交互式 shell 中的默认值。 这 绑定键 内置可以显示和更改键绑定。
默认情况下使用 Emacs 样式的键绑定(除非 shell 以其他方式编译;请参阅
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 版本 外壳变量),但是 绑定键 可以将键绑定更改为 vi样式绑定
集体。
shell 总是绑定箭头键(如定义在 术语表 环境变量)到
向下 下历史
up 历史
左 向后字符
右 前向字符
除非这样做会改变另一个单字符绑定。 一个可以设置方向键
转义序列到空字符串 设置 以防止这些绑定。 ANSI/VT100
箭头键的序列始终是绑定的。
其他键绑定在大多数情况下是 Emacs 和 vi(1) 用户期望并且可以
很容易被显示 绑定键,因此无需在此处列出它们。 同样地, 绑定键
可以列出编辑器命令以及每个命令的简短描述。
请注意,编辑器命令没有与 shell 相同的“单词”概念。
编辑器用不在 shell 变量中的任何非字母数字字符分隔单词
字字符, 而外壳只识别空格和一些带有
对它的特殊含义,列在下面 词法 结构体.
完成 和 清单 (+),
当给出一个独特的缩写时,外壳通常能够完成单词。 键入部分
一个单词(例如`ls /usr/lost')并点击tab键来运行 完整词 编辑
命令。 shell将文件名`/usr/lost'补全为`/usr/lost+found/',替换
输入缓冲区中包含完整词的不完整词。 (注意终端`/';
完成在已完成目录的末尾添加一个“/”,并在其他目录的末尾添加一个空格
完成的单词,以加快打字速度并提供成功完成的视觉指示器。
这个 添加后缀 可以取消设置 shell 变量以防止出现这种情况。)如果未找到匹配项(也许
`/usr/lost+found' 不存在),终端铃声响起。 如果这个词已经
完整(也许你的系统上有一个 `/usr/lost',或者你也在想
遥遥领先并输入整个内容)如果不是,则在末尾添加一个“/”或空格
已经在那了。
Completion 可以在行的任何地方工作,而不仅仅是在最后; 完成的文本推送其余部分
右边的那一行。 在单词中间完成通常会导致剩余
光标右侧需要删除的字符。
命令和变量可以以几乎相同的方式完成。 例如,键入
`em[tab]' 将把 `em' 补全到 `emacs',如果 emacs的 是你系统上唯一的命令
以“em”开头。 完成可以在任何目录中找到命令 径 或者如果给定一个
完整路径名。 如果没有其他输入,输入 `echo $ar[tab]' 会将 `$ar' 补全到 `$argv'
变量以“ar”开头。
shell解析输入缓冲区,判断是否要补全单词
应作为文件名、命令或变量完成。 缓冲区中的第一个字和
`;'、`|'、`|&'、`&&' 或`||' 后面的第一个单词被认为是一个命令。 一种
以“$”开头的词被认为是一个变量。 其他任何东西都是文件名。 一个
空行作为文件名“完成”。
您可以随时通过键入“^D”来运行
删除字符或列表或eof 编辑器命令。 shell 列出了可能的补全使用
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 ls-f 内置(qv)并重新打印提示和未完成的命令行,例如:
> ls /usr/l[^D]
lbin/ lib/ 本地/ 丢失+找到/
> ls /usr/l
如果 自动列表 设置了 shell 变量,shell 列出了剩余的选项(如果有)
每当完成失败时:
> 设置自动列表
> nm /usr/lib/libt[tab]
libtermcap.a@ libtermlib.a@
> nm /usr/lib/libterm
If 自动列表 设置为“模棱两可”,仅当完成失败并添加时才会列出选择
完成的单词没有新字符。
要完成的文件名可以包含变量、您自己或他人的主目录
缩写为“~”(见 文件名 代换) 和目录堆栈条目缩写
用`='(见 目录 堆 代换)。 例如,
> ls ~k[^D]
卡恩·卡斯·凯洛格
> ls ~ke[标签]
> ls ~凯洛格/
or
> 设置本地 = 在/ usr /本地
> ls $lo[标签]
> ls $local/[^D]
bin/etc/lib/man/src/
> ls $本地/
请注意,变量也可以使用 扩展变量 编辑
命令。
删除字符或列表或eof 仅在行尾列出; 在一条线的中间
删除光标下的字符并在空行上记录一个字符,或者,如果
忽略 设置,什么都不做。 `M-^D',绑定到编辑器命令 列表选择, 列出
线上任何地方的完成可能性,以及 列表选择 (或任何相关
删除或不删除、列出和/或注销的编辑器命令,列在下面 删除字符或-
列表或eof) 可以绑定到`^D' 绑定键 如果需要,内置命令。
这个 完整字前转 和 完整回词 编辑器命令(不绑定到任何键
default) 可用于在可能的完成列表中上下循环,
用列表中的下一个或上一个单词替换当前单词。
外壳变量 忽略 可以设置为完成后忽略的后缀列表。
考虑以下几点:
> ls
Makefile 调味品.h~ main.o side.c
README main.c 餐边.o
调味品.h main.c~
> 设置忽略 = (.o \~)
> emacs ma[^D]
main.c main.c~main.o
> emacs ma[标签]
> emacs main.c
`main.c~' 和 `main.o' 被完成(但不列出)忽略,因为它们以
后缀在 忽略. 请注意,在`~' 前面需要一个`\' 以防止它被
扩展到 主页 如下所述 文件名 代换. 忽略 如果只有一个,则被忽略
完成是可能的。
如果 完成 shell 变量设置为 `enhance',完成 1) 忽略大小写和 2)
将句点、连字符和下划线(“.”、“-”和“_”)视为单词分隔符和
连字符和下划线是等价的。 如果你有以下文件
comp.lang.c comp.lang.perl comp.std.c++
comp.lang.c++ comp.std.c
并输入`mail -f clc[tab]',它将完成为`mail -f comp.lang.c',和^D
会列出 `comp.lang.c' 和 `comp.lang.c++'。 `mail -f c..c++[^D]' 将列出
`comp.lang.c++' 和 `comp.std.c++'。 在以下目录中输入 `rm a--file[^D]'
A_silly_file 一个连字符文件 another_silly_file
将列出所有三个文件,因为忽略大小写并且连字符和下划线是
相等的。 但是,句点并不等同于连字符或下划线。
如果 完成 shell 变量设置为“Enhance”,完成忽略大小写和
仅当用户键入 a 时,连字符和下划线单词分隔符之间的差异
小写字符或连字符。 输入大写字符或下划线
不匹配相应的小写字符或连字符分隔符。 输入`rm
a--file[^D]' 在上一个例子的目录中仍然会列出所有三个文件,
但是输入 `rm A--file' 只会匹配 `A_silly_file' 而输入 `rm a__file[^D]' 会
只匹配“A_silly_file”和“another_silly_file”,因为用户明确使用了
大写或下划线字符。
完成和列表受其他几个 shell 变量的影响: 精确 可以设定
以尽可能短的唯一匹配完成,即使更多的输入可能会导致
更长的比赛:
> ls
饲料 foo 食物 foonly
> 设置精确
> rm fo[标签]
只是哔哔声,因为‘fo’可以扩展为‘fod’或‘foo’,但如果我们输入另一个‘o’,
> rm foo[标签]
> rm foo
完成在 `foo' 上完成,即使 `food' 和 `foonly' 也匹配。 自动展开
可以设置运行 展开历史 每次完成尝试之前的编辑器命令,
自动更正 可以设置拼写更正要完成的单词(见 拼写单词
更正) 在每次完成尝试之前和 正确 可以设置完成命令
点击“返回”后自动。 比赛哔哔声 可以设置为完成哔哔声或
在各种情况下都不会发出哔哔声,并且 没有哔哔声 可以设置为从不发出哔哔声。 无统计
可以设置为与目录匹配的目录和/或模式列表,以防止
完成机制来自 统计(2) 那些目录。 最大列表 和 列表最大行数 可
设置为限制在不询问的情况下列出的项目数和行数(分别)
第一。 仅识别可执行文件 可以设置为使 shell 列表仅在以下情况下可执行
列出命令,但速度很慢。
最后,该 完成 内置命令可以用来告诉shell如何完成单词
除了文件名、命令和变量。 完成和上市对全球不起作用
模式(见 文件名 代换),但 列表全局 和 扩展全局 编辑器命令
为全局模式执行等效的功能。
拼写单词 更正 (+),
shell 有时可以将文件名、命令和变量名的拼写更正为
以及完成并列出它们。
可以使用以下命令对单个单词进行拼写纠正 拼字 编辑器命令(通常
绑定到 Ms 和 MS)和整个输入缓冲区 拼写线 (通常绑定到 M-$)。
这个 正确 shell 变量可以设置为 `cmd' 以更正命令名称或设置为 `all'
每次输入 return 时都更正整行,并且 自动更正 可以设置为正确
在每次完成尝试之前要完成的单词。
当以任何这些方式调用拼写更正并且外壳认为任何
命令行的一部分拼写错误,它提示更正的行:
> 设置正确 = cmd
> lz / usr / bin
正确>ls / usr / bin (y|n|e|a)?
一个人可以回答“y”或空格来执行更正的行,“e”留下未更正的行
输入缓冲区中的命令,`a' 中止命令,就像点击了 `^C' 一样,以及
执行原始行的任何其他内容不变。
拼写更正可识别用户定义的完成(请参阅 完成 内建的
命令)。 如果定义完成位置的输入词类似于
完成列表中的单词,拼写更正记录拼写错误并建议
后一个词作为更正。 但是,如果输入的单词不匹配任何
该职位的可能完成情况,拼写更正不会注册
拼错。
就像完成一样,拼写更正在行中的任何地方都起作用,推动其余的
行,并可能在光标右侧留下额外的字符。
当心:拼写更正不能保证按预期方式工作,而是提供
主要是作为一个实验功能。 欢迎提出建议和改进。
编者 命令 (+),
`bindkey' 列出键绑定,`bindkey -l' 列出并简要描述编辑器命令。
这里只描述新的或特别有趣的编辑器命令。 看 emacs的(1)和
vi(1) 用于描述每个编辑器的键绑定。
每个命令默认绑定的一个或多个字符在
括弧。 `^字符' 表示控制字符,'M-字符' 一个元字符,
键入为转义 -字符 在没有元键的终端上。 案例很重要,但命令
默认情况下绑定到字母 绑定到小写和大写字母
方便。
完整词 (标签)
按照下面的描述完成一个单词 完成 和 清单.
完整回词 (未绑定)
喜欢 完整字前转,但从列表的末尾开始。
完整字前转 (未绑定)
用可能的补全列表中的第一个词替换当前词。
可能会重复以在列表中下台。 在列表的末尾,哔哔声和
恢复到不完整的词。
完整词原始 (^X-制表符)
喜欢 完整词,但忽略用户定义的完成。
复制上一个词 (M-^_)
将当前行中的前一个单词复制到输入缓冲区中。 也可以看看
插入最后一个词.
dabbrev-展开 (M-/)
将当前词扩展到当前词所在的最近的前一个词
一个前导子字符串,必要时环绕历史列表(一次)。
重复 dabbrev-展开 没有任何干预打字更改到下一个
前一个词等,跳过相同的匹配很像 历史搜索向后
一样。
删除字符 (如果使用标准,则绑定到“Del” /etc/csh.cshrc)
删除光标下的字符。 也可以看看 删除字符或列表或eof.
删除字符或eof (未绑定)
儿童在 删除字符 如果光标下有一个字符或 文件结束 上一个
空行。 也可以看看 删除字符或列表或eof.
删除字符或列表 (未绑定)
儿童在 删除字符 如果光标下有一个字符或 列表选择 在
队伍的尽头。 也可以看看 删除字符或列表或eof.
删除字符或列表或eof (^D)
儿童在 删除字符 如果光标下有一个字符, 列表选择 在最后
线或 文件结束 在一个空行上。 另请参阅这三个命令,每个命令
其中只执行一个动作,并且 删除字符或eof, 删除字符或列表
和 列表或eof,每个都做了三个中不同的两个。
下历史 (向下箭头,^N)
喜欢 历史,但逐步下降,停在原始输入行。
文件结束 (未绑定)
发出文件结束信号,导致 shell 退出,除非 忽略 壳
变量 (qv) 被设置为防止这种情况发生。 也可以看看 删除字符或列表或eof.
展开历史 (M-空间)
扩展当前单词中的历史替换。 看 发展历程 代换。 看
还 魔法空间, 切换文字历史 和 自动展开 外壳变量。
扩展全局 (^X-*)
将 glob-pattern 扩展到光标的左侧。 看 文件名 代换.
展开线 (未绑定)
喜欢 展开历史, 但在输入中的每个单词中扩展历史替换
缓冲。
扩展变量 (^X-$)
将变量扩展到光标左侧。 看 请按需咨询 代换.
历史搜索向后 (议员,议员)
在历史列表中向后搜索以
输入缓冲区的当前内容直到光标并将其复制到输入
缓冲。 搜索字符串可能是一个全局模式(请参阅 文件名 代换)
包含“*”、“?”、“[]”或“{}”。 历史 和 下历史 将从
历史列表中的适当点。 仅限 Emacs 模式。 也可以看看 历史-
向前搜索 和 我搜索回来.
历史搜索 (锰,锰)
喜欢 历史搜索向后,但向前搜索。
我搜索回来 (未绑定)
向后搜索像 历史搜索向后, 将第一个匹配项复制到
光标位于模式末尾的输入缓冲区,并提示
用 `bck:' 和第一个匹配项。 可以输入额外的字符来扩展
搜索, 我搜索回来 可以输入以继续使用相同的搜索
模式,必要时环绕历史列表,(我搜索回来 必须
绑定到单个字符以使其工作)或以下特殊字符之一
可以输入字符:
^W 将光标下的其余单词附加到搜索模式。
删除(或任何绑定到 向后删除字符)
撤消最后输入的字符的效果并删除一个字符
如果合适,可以从搜索模式中获取。
^G 如果前一次搜索成功,则中止整个搜索。 如果
不,回到上次成功搜索。
escape 结束搜索,将当前行留在输入缓冲区中。
任何其他未绑定到的字符 自插入命令 终止搜索,
将当前行留在输入缓冲区中,然后被解释为正常
输入。 特别是,回车会导致当前行被执行。
仅限 Emacs 模式。 也可以看看 i-搜索-转发 和 历史搜索向后.
i-搜索-转发 (未绑定)
喜欢 我搜索回来,但向前搜索。
插入最后一个词 (M-_)
将前一个输入行的最后一个单词 (`!$') 插入到输入缓冲区中。
参见 复制上一个词.
列表选择 (M-^D)
列出如下所述的完成可能性 完成 和 清单。 看
还 删除字符或列表或eof 和 列表选择原始.
列表选择原始 (^X-^D)
喜欢 列表选择,但忽略用户定义的完成。
列表全局 (^Xg, ^XG)
列表(通过 ls-f 内置)匹配到全局模式(见 文件名
代换) 到光标的左侧。
列表或eof (未绑定)
儿童在 列表选择 or 文件结束 在一个空行上。 也可以看看 删除字符或列表-
或-eof.
魔法空间 (未绑定)
扩展当前行中的历史替换,例如 展开历史和
插入一个空格。 魔法空间 旨在绑定到空格键,但不是
默认绑定。
规范化命令 (^X-?)
在 PATH 中搜索当前单词,如果找到,则将其替换为
可执行文件的完整路径。 特殊字符被引用。 别名被扩展
并引用但别名中的命令不是。 这个命令很有用
将命令作为参数的命令,例如`dbx' 和`sh -x'。
标准化路径 (^Xn, ^XN)
按照“扩展”设置中的描述扩展当前单词 符号链接
外壳变量。
覆盖模式 (未绑定)
在输入和覆盖模式之间切换。
运行-fg-editor (M-^Z)
保存当前输入行并查找名称等于
文件名部分的最后一部分 EDITOR or VISUAL 环境
变量,或者,如果两者都没有设置,则为 `ed' 或 `vi'。 如果找到这样的工作,那就是
重新启动好像`fg %工作' 已经输入。 这用于来回切换
在编辑器和外壳之间轻松。 有些人将此命令绑定到“^Z”,所以
他们可以更轻松地做到这一点。
运行帮助 (MH, MH)
使用相同的概念搜索当前命令的文档
“当前命令”作为完成例程,并打印出来。 没有办法
使用寻呼机; 运行帮助 专为简短的帮助文件而设计。 如果特殊别名
帮助命令 已定义,它以命令名称作为唯一参数运行。 别的,
文档应该在一个名为 命令。帮助, 命令。1, 命令。6,
命令.8或 命令,它应该在 中列出的目录之一中
路径 环境变量。 如果有多个帮助文件,只有第一个是
打印。
自插入命令 (文字字符)
在插入模式(默认)下,将输入的字符插入到输入行中
在光标下的字符之后。 在覆盖模式下,替换字符
在带有输入字符的光标下。 输入模式通常被保留
线之间,但 输入模式 shell 变量可以设置为“插入”或
`overwrite' 将编辑器置于每行开头的那种模式。 看
还 覆盖模式.
序列导入 (箭头前缀,元前缀,^X)
表示以下字符是多键序列的一部分。 捆绑
多键序列的命令实际上创建了两个绑定:第一个字符
至 序列导入 以及命令的整个序列。 所有序列
以绑定到的字符开头 序列导入 有效地绑定到
未定义键 除非绑定到另一个命令。
拼写线 (百万美元)
尝试更正输入缓冲区中每个单词的拼写,例如 拼写-
字, 但忽略第一个字符是“-”、“!”、“^”或“%”之一的单词,或
其中包含“\”、“*”或“?”,以避免开关、替换和
类似。 看 拼写单词 更正.
拼字 (女士,女士)
尝试更正当前单词的拼写,如下所述 拼写单词
更正. 检查似乎是路径名的单词的每个组成部分。
切换文字历史 (先生,先生)
扩展或“取消扩展”输入缓冲区中的历史替换。 也可以看看
展开历史 和 自动展开 外壳变量。
未定义键 (任何未绑定的密钥)
哔哔声。
历史 (向上箭头,^P)
将历史列表中的前一个条目复制到输入缓冲区中。 如果 历史
已设置,使用条目的字面形式。 可能会重复以逐步完成
历史列表,停在顶部。
vi-回溯 (?)
用“?”提示对于搜索字符串(可能是全局模式,如
历史搜索向后),搜索它并将其复制到输入缓冲区中。
如果未找到匹配项,则会响铃。 点击返回结束搜索并离开
输入缓冲区中的最后一个匹配项。 点击转义结束搜索并执行
比赛。 vi 仅模式。
vi-搜索-前进 (/)
喜欢 vi-回溯,但向前搜索。
哪个命令 (男-?)
做一个 这 (请参阅内置命令的说明)在
输入缓冲区。
砰砰声 (我的)
在 a 之后立即执行时 猛拉 或其他 砰砰声, 替换掉的
字符串与来自 killring 的下一个前一个字符串。 这也有效果
旋转killring,这样这个字符串将被认为是最
最近被后来的人杀死 猛拉 命令。 重复 砰砰声 将循环通过
杀人无数次。
词法 结构体
shell 将输入行拆分为空格和制表符处的单词。 特殊字符‘&’,
`|'、`;'、`<'、`>'、`('和`)'以及双字符`&&'、`||'、`<<'和`>>'是
始终将单词分开,无论它们是否被空格包围。
当 shell 的输入不是终端时,字符“#”被用来开始注释。
每个“#”和它出现的输入行的其余部分在进一步之前被丢弃
解析。
可能会阻止特殊字符(包括空格或制表符)具有其特殊性
意义,并可能成为另一个词的一部分,通过在它前面加上反斜杠 (`\') 或
将其括在单 (`'')、双 (`"') 或向后 (``') 引号中。否则否则
引用一个以“\”开头的换行符相当于一个空格,但在里面引用了这个
序列产生一个换行符。
此外,所有 替换 (见下文)除了 发展历程 代换 可以通过防止
用单引号或通过将出现的字符串(或字符串的一部分)括起来
引用关键字符(例如,`$' 或 ``' 表示 请按需咨询 代换 or 命令
代换 分别)与`\'。 (别名 代换 也不例外:引用任何
方式一个词的任何字符 别号 已定义防止替换
别名。 引用别名的常用方法是在它前面加上反斜杠。) 发展历程
代换 被反斜杠阻止,但不能被单引号阻止。 用引号引起来的字符串
双引号或反引号 请按需咨询 代换 和 命令 代换,但
其他替换被阻止。
单引号或双引号内的文本成为一个单词(或一个单词的一部分)。
这些字符串中的元字符(包括空格和制表符)不会形成单独的单词。
仅在一种特殊情况下(见 命令 代换 下面) 可以用双引号引起来的字符串
多于一个词的部分; 单引号字符串永远不会。 向后引用是特殊的:
他们发信号 命令 代换 (qv),这可能会导致一个以上的词。
引用复杂的字符串,特别是本身包含引用字符的字符串,
可能会令人困惑。 请记住,不必像在人类写作中那样使用引号! 它
可能更容易引用不是整个字符串,而是只引用字符串中需要的部分
引用,在适当的情况下使用不同类型的引用。
这个 反斜杠_引用 可以设置 shell 变量 (qv) 使反斜杠始终引用“\”,
`'' 和 `"'。(+) 这可能会使复杂的引用任务变得更容易,但它可能会导致语法错误
错误 长山壕(1) 脚本。
替换
我们现在按顺序描述 shell 对输入执行的各种转换
它们发生的地方。 我们注意到传递所涉及的数据结构以及命令和
影响他们的变量。 请记住,可以通过引用为来防止替换
在下描述 词法 结构体.
发展历程 代换
从终端输入的每个命令或“事件”都保存在历史列表中。 这
上一个命令总是被保存,并且 历史 shell 变量可以设置为一个数字
保存那么多命令。 这 历史记录 shell 变量可以设置为不保存重复
事件或连续重复的事件。
保存的命令从 1 开始按顺序编号,并带有时间标记。 它不是
通常需要使用事件编号,但可以将当前事件编号作为
通过放置一个“!”提示在里面 提示 外壳变量。
shell 实际上以扩展和文字(未扩展)形式保存历史记录。 如果
历史 设置了 shell 变量,显示和存储历史的命令使用文字
形式。
这个 历史 内置命令可以打印、存储在文件中、恢复和清除历史列表
任何时候,以及 救世主 和 历史文件 可以设置shell变量来存储历史
注销时自动列出并在登录时恢复。
历史替换将历史列表中的单词引入输入流,使
很容易重复命令,在当前命令中重复上一个命令的参数,
或者用很少的输入和高度的修复上一个命令中的拼写错误
信心。
历史替换以字符“!”开头。 它们可以在输入的任何位置开始
流,但它们不筑巢。 '! 前面可能有一个“\”以防止其特殊
意义; 为方便起见,一个“!” 当它后面跟着一个空白、制表符、
换行符、`=' 或`('。当输入行以`^' 开头时,也会发生历史替换。
这个特殊的缩写将在后面描述。 用于表示历史的字符
替换(`!' 和 `^')可以通过设置 历史字符 外壳变量。 任何
在执行之前打印包含历史替换的输入行。
历史替换可能有一个“事件规范”,它表明事件来自
要使用哪些单词,一个“单词指示符”,它从中选择特定的单词
选定的事件,和/或操纵选定单词的“修饰符”。
事件规范可以是
n 一个数字,指的是一个特定的事件
-n 一个偏移量,指的是事件 n 在当前事件之前
# 当前事件。 这应该谨慎使用 长山壕(1)、没有
检查递归。 tcsh的 允许 10 级递归。 (+)
! 前一个事件(相当于‘-1’)
s 第一个单词以字符串开头的最近事件 s
?s? 包含字符串的最近事件 s. 第二个“?” 可
如果后面紧跟换行符,则省略。
例如,考虑某人的历史列表中的这一点:
9 8:30 nroff-人 wumpus.man
10 8:31 cp wumpus.man wumpus.man.old
11 8:36 六 wumpus.man
12 8:37 差异 wumpus.man.old wumpus.man
命令显示有它们的事件编号和时间戳。 当前事件,其中
我们还没有输入,是事件 13。“!11”和“!-2”指的是事件 11。“!!” 指的是
上一个事件,12。`!!' 可以缩写为“!” 如果后面跟着`:'(`:'是
如下面所描述的)。 `!n' 指的是事件 9,它以 `n' 开头。 “!?旧的?” 也指
事件 12,其中包含“旧”。 没有单词指示符或修饰符历史参考
简单地扩展到整个事件,所以我们可以输入‘!cp’来重做复制命令或
`!!|more' 如果 `diff' 输出滚出屏幕顶部。
如有必要,可以使用大括号将历史引用与周围的文本隔离开来。
例如,`!vdoc' 会寻找一个以 `vdoc' 开头的命令,在这个例子中,
找不到,但`!{v}doc' 会明确地扩展为`vi wumpus.mandoc'。 即使在
括号,历史替换不嵌套。
(+) 虽然 长山壕(1) 例如,将‘!3d’扩展为事件 3,并在后面附加字母‘d’
它, tcsh的 将其扩展到以“3d”开头的最后一个事件; 只有完全数字
参数被视为事件编号。 这使得可以回忆起开始的事件
与数字。 像这样扩展‘!3d’ 长山壕(1) 说“!{3}d”。
要从事件中选择单词,我们可以按照事件规范使用“:”和
所需词的指示符。 输入行的单词从 0 开始编号,
第一个(通常是命令)字为 0,第二个字(第一个参数)为 1,依此类推。
基本的单词指示符是:
0 第一个(命令)字
n 这个 n第一个论点
^ 第一个参数,等价于‘1’
$ 最后一个参数
% 与 ? 匹配的词s? 搜索
XY 一系列词
-y 相当于 ‘0-y’
* 等价于 `^-$',但如果事件只包含 1 个单词,则不返回任何内容
x* 相当于 'x-$'
x- 相当于 'x*', 但省略最后一个字 (`$')
选定的单词被插入到由单个空格分隔的命令行中。 为了
例如,上一个示例中的“diff”命令可能已输入为“diff”
!!:1.old !!:1'(使用 `:1' 从前一个事件中选择第一个参数)或 `diff
!-2:2 !-2:1' 从`cp' 命令中选择和交换参数。 如果我们不在乎
关于'diff'的顺序,我们可能会说'diff !-2:1-2'或简单的'diff !-2:*'。
`cp' 命令可能已经写成 `cp wumpus.man !#:1.old',使用 `#' 来引用
当前事件。 `!n:-hurkle.man' 将重用 `nroff' 中的前两个词
命令说'nroff -man hurkle.man'。
将事件规范与单词指示符分开的 `:' 可以省略,如果
参数选择器以“^”、“$”、“*”、“%”或“-”开头。 例如,我们的“差异”
命令可能是 `diff !!^.old !!^' 或等效的 `diff !!$.old !!$'。 然而,
如果`!!' 缩写为“!”,以“-”开头的参数选择器将被解释为
事件规范。
历史参考可能有一个词指示符,但没有事件说明。 那么它
引用上一个命令。 继续我们的“diff”示例,我们可以简单地说
`diff !^.old !^' 或者,要以相反的顺序获取参数,只需 `diff !*'。
历史参考中的一个或多个单词可以通过跟随它来编辑或“修改”
带有一个或多个修饰符,每个修饰符前面都有一个“:”:
h 删除尾部路径名组件,留下头部。
t 删除所有前导路径名组件,保留尾部。
r 删除文件扩展名“.xxx”,保留根名称。
e 删除除扩展之外的所有内容。
u 大写第一个小写字母。
l 小写第一个大写字母。
s/升/转/ 替代 l HPMC胶囊 r. l 只是一个字符串 r, 不是正则表达式
在同名的 ed(1) 命令。 任何字符都可以用作分隔符
`/'的位置; 一个 `\' 可以用来引用里面的分隔符 l 和 r。 该
字符“&”在 r 被替换 l; `\' 也引用了 `&'。 如果 l 是空的
(``''), l 从先前的替换或 s 从以前的搜索或
使用事件规范中的事件编号。 尾随分隔符可能是
如果后面紧跟换行符,则省略。
& 重复之前的替换。
g 对每个单词应用一次以下修饰语。
a (+) 将以下修饰符尽可能多地应用于单个单词。 '一个'
和 `g' 可以一起使用来全局应用修饰符。 用's'
修饰符,仅替换原始单词中包含的模式,
不是包含任何替换结果的模式。
p 打印新的命令行但不执行它。
q 引用替换的词,防止进一步替换。
x 与 q 类似,但在空格、制表符和换行符处分解为单词。
修饰符仅应用于第一个可修饰的单词(除非使用了“g”)。 它是一个
没有可修改的单词的错误。
例如,`diff' 命令可能被写成 `diff wumpus.man.old !#^:r',
使用 `:r' 从同一行的第一个参数中删除 `.old' (`!#^')。 我们可以
说“echo hello out there”,然后用“echo !*:u”将“hello”大写,用“echo !*:au”表示
大声喊出来,或者用`echo !*:agu' 来真正地喊叫。 我们可能会遵循`mail -s“我忘记了我的
密码" rot' 与'!:s/rot/root' 以更正'root' 的拼写(但请参阅 拼写单词
更正 对于不同的方法)。
替换有一个特殊的缩写。 `^',当它是第一个字符时
一个输入行,相当于`!:s^'。 因此,我们可能会说“^rot^root”来使
前面例子中的拼写更正。 这是唯一的历史替代
没有明确以“!”开头。
(+) 输入 长山壕 因此,每个历史或变量只能应用一个修饰符
扩张。 在 tcsh的,可以使用多个,例如
% mv wumpus.man /usr/man/man1/wumpus.1
% 人 !$:t:r
男人wumpus
In 长山壕,结果将是`wumpus.1:r'。 后跟冒号的替换可能需要
用大括号与它绝缘:
> mv a.out /usr/games/wumpus
> 设置环境路径 !$:h:$PATH
坏的 ! 修饰符:$。
> 设置环境路径 !{-2$:h}:$PATH
设置环境路径 / usr /游戏:/箱:/ usr / bin:.
第一次尝试将成功 长山壕 但失败了 tcsh的因为 tcsh的 期待另一个
第二个冒号后的修饰符而不是“$”。
最后,可以通过编辑器和替换来访问历史记录
刚刚描述。 这 向上- 和 下历史, 历史搜索向后 和 -向前, 我搜索-
背部 和 -前进, vi-回溯 和 -前进, 复制上一个词 和 插入最后一个词 编辑
命令在历史列表中搜索事件并将它们复制到输入缓冲区中。 这
切换文字历史 编辑器命令在扩展和文字形式之间切换
输入缓冲区中的历史记录行。 展开历史 和 展开线 展开历史
分别在当前词和整个输入缓冲区中进行替换。
别名 代换
shell 维护着一个别名列表,这些别名可以被设置、取消设置和打印。 别号 和
无别名 命令。 将命令行解析为简单命令后(请参阅 命令)的
检查每个命令的第一个单词,从左到右,看它是否有别名。 如果是这样的话,
第一个词被别名替换。 如果别名包含历史引用,则它
经历 发展历程 代换 (qv) 好像原始命令是前一个
输入线。 如果别名不包含历史引用,则保留参数列表
无动于衷。
因此,如果 `ls' 的别名是 `ls -l' 命令`ls 在/ usr' 会变成 `ls -l 在/ usr',
这里的参数列表不受干扰。 如果`lookup'的别名是`grep !^
/ etc / passwd文件' 那么`lookup bill' 就会变成`grep bill / etc / passwd文件'。 可以使用别名
介绍解析器元语法。 例如,`alias print 'pr \!* | lpr'' 定义了一个
``command'' (`print') 其中 pr(1) 将其参数传递给行式打印机。
重复别名替换,直到命令的第一个单词没有别名。 如果
别名替换不会改变第一个单词(如前面的例子)它是
标记以防止循环。 检测到其他循环并导致错误。
一些别名被 shell 引用; 看 Special 别名.
请按需咨询 代换
shell 维护一个变量列表,每个变量都有一个零个或多个列表作为值
字。 shell 变量的值可以显示和更改 集 和 未设定
命令。 系统维护它自己的“环境”变量列表。 这些可以
显示和更改为 打印环境, 设定 和 未设置环境.
(+) 变量可以用`set -r' (qv) 设置为只读。 只读变量可能不是
修改或取消设置; 尝试这样做会导致错误。 一旦成为只读,一个
变量不能被设为可写,所以应该谨慎使用 `set -r'。 环境
变量不能设为只读。
一些变量由 shell 设置或由它引用。 例如, 精液 变量
是 shell 参数列表的图像,并且引用了该变量值的单词
以特殊的方式。 shell 引用的一些变量是切换; 贝壳
不关心它们的值是什么,只关心它们是否被设置。 例如,
详细 变量是导致命令输入被回显的切换。 这 -v 命令行
选项设置此变量。 Special 壳 变量 列出所有引用的变量
到壳。
其他操作以数字方式处理变量。 `@' 命令允许数字
要执行的计算并将结果分配给变量。 变量值是,
但是,始终表示为(零个或多个)字符串。 出于数字的目的
操作,空字符串被认为是零,第二个和后续的单词
的多字值被忽略。
输入行别名解析后,每条命令执行前,变量
替换以`$' 字符为键进行。 可以通过以下方式阻止这种扩展
在 `$' 前面加上一个 `\',除了在 `"'s 中它的位置 时刻 发生,并且在`''s内
在哪里 决不要 发生。 ``' 引用的字符串稍后解释(请参阅 命令
代换 下面),所以“$”替换直到稍后才会发生,如果有的话。 一种
如果后跟空格、制表符或行尾,则 `$' 将保持不变。
输入/输出重定向在变量扩展之前被识别,并且是可变的
分别展开。 否则,扩展命令名称和整个参数列表
一起。 因此,第一个(命令)字(到目前为止)可以生成
不止一个单词,第一个成为命令名,其余的
成为论据。
除非包含在 `"' 中或给定了 `:q' 修饰符,变量替换的结果可能
最终被命令和文件名取代。 在 `"' 中,一个变量的值
由多个单词组成的扩展为(a的一部分)单个单词,其中的单词
变量的值由空格分隔。 当 `:q' 修饰符应用于替换时
该变量将扩展为多个单词,每个单词用空格分隔并引用
以防止以后的命令或文件名替换。
提供了以下元序列用于将变量值引入 shell
输入。 除非另有说明,否则引用未设置的变量是错误的。
$姓名
${姓名} 替换变量值的单词 姓名,每个都用空格隔开。
牙套绝缘 姓名 来自以下字符,否则将成为其中的一部分
它。 Shell 变量的名称由以 a 开头的字母和数字组成
信。 下划线字符被认为是一个字母。 如果 姓名 不是壳
变量,但在环境中设置,然后返回该值(但有些
在这种情况下,下面给出的其他表格不可用)。
$姓名[选择器]
${姓名[选择器]}
仅替换从值中选择的单词 姓名。 该 选择器 is
受“$”替代,可能由一个数字或两个数字组成
以“-”分隔。 变量值的第一个字编号为“1”。 如果
范围的第一个数字被省略,默认为“1”。 如果最后一个成员
范围被省略它默认为`$#姓名'。 的 选择器 `*' 选择所有单词。 它
如果第二个参数被省略或在,则范围为空不是错误
的特点。
$0 替换从中读取命令输入的文件的名称。 一个错误
如果名称未知,则会发生。
$数
${数}
相当于`$argv[数]'。
$* 相当于`$argv',相当于`$argv[*]'。
下描述的`:'修饰符 发展历程 代换, 除了`:p', 可以应用于
上面的替换。 可以使用不止一种。 (+) 可能需要大括号来绝缘
来自文字冒号的变量替换,就像 发展历程 代换 (qv); 任何
修饰符必须出现在大括号内。
以下替换不能用`:' 修饰符修改。
$?姓名
${?姓名}
替换字符串“1”,如果 姓名 已设置,如果不是,则为“0”。
$?0 如果当前输入文件名已知,则替换为“1”,否则替换为“0”。 总是
交互式 shell 中的“0”。
$#姓名
${#姓名}
替换中的单词数 姓名.
$# 等价于`$#argv'。 (+)
$%姓名
${%姓名}
替换中的字符数 姓名。 (+)
$%数
${%数}
替换 $argv[ 中的字符数数]。 (+)
$? 等同于`$status'。 (+)
$$ 替换(父)shell 的(十进制)进程号。
$! 替换由启动的最后一个后台进程的(十进制)进程号
这个壳。 (+)
$_ 替换执行的最后一个命令的命令行。 (+)
$< 替换标准输入中的一行,不再解释
此后。 它可用于在 shell 脚本中从键盘读取。 (+)
而 长山壕 总是引用 $<,就好像它等价于 `$<:q', tcsh的 才不是。
此外,当 tcsh的 正在等待输入一行,用户可以输入
中断以中断行将被替换的序列,但
长山壕 不允许这样做。
编辑器命令 扩展变量,通常绑定到`^X-$',可用于
交互式扩展单个变量。
命令, 文件名 和 目录 堆 代换
其余的替换有选择地应用于内置命令的参数。
这意味着未计算的表达式部分不受这些约束
扩展。 对于不在 shell 内部的命令,命令名称是
从参数列表中单独替换。 这发生得很晚,在输入输出之后
执行重定向,并在主 shell 的子级中执行。
命令 代换
命令替换由包含在 ``' 中的命令表示。 这样的输出
命令在空格、制表符和换行符处被分解为单独的词,而空词则是
丢弃。 输出是变量,命令被替换并代替
原始字符串。
双引号 (`"') 内的命令替换保留空格和制表符;仅换行
强制新词。 在任何情况下,单个最终换行符都不会强制使用新单词。 这是
因此命令替换可能只产生单词的一部分,即使命令
输出完整的一行。
默认情况下,6.12 版以后的 shell 会替换所有换行符和回车符
命令中的字符由空格组成。 如果这是通过取消设置关闭的 物质,
换行符像往常一样分隔命令。
文件名 代换
如果单词包含任何字符‘*’、‘?’、‘[’或‘{’或以该字符开头
`~' 它是文件名替换的候选者,也称为“globbing”。 这个词是
然后被视为一个模式(``glob-pattern''),并替换为一个按字母顺序排序的
与模式匹配的文件名列表。
在匹配文件名中,字符“.” 在文件名的开头或立即
跟在 `/' 之后,以及字符 `/' 必须显式匹配(除非
全局点 or 环球之星 或两者都设置(+))。 字符“*”匹配任何字符串
字符,包括空字符串。 字符“?” 匹配任何单个字符。
序列`[...]' 匹配所包含的任何一个字符。 在 `[...]' 中,一对
由`-' 分隔的字符匹配两者之间的词法上的任何字符。
(+) 一些全局模式可以否定:序列`[^...]' 匹配任何单个字符
而不去 由大括号中的字符和/或字符范围指定。
整个 glob-pattern 也可以用 `^' 否定:
> 回声 *
砰 崩溃 嘎吱嘎吱 哎哟
> 回声 ^cr*
砰哦
不使用“?”、“*”或“[]”或使用“{}”或“~”(如下)的全局模式不是
正确否定。
元符号“a{b,c,d}e”是“abe ace ade”的简写。 从左到右的顺序是
保留:`/usr/source/s1/{oldls,ls}.c' 扩展为`/usr/source/s1/oldls.c
/usr/source/s1/ls.c'。 匹配结果在低级别单独排序以
保留这个顺序:`../{memo,*box}' 可能会扩展为 `../memo ../box ../mbox'。 (笔记
`memo' 没有按照匹配 `*box' 的结果进行排序。)
此构造扩展到不存在的文件,但可能会出现错误
从扩展列表传递到的命令。 该构造可以嵌套。 作为一个
特殊情况下,单词`{'、`}' 和`{}' 不受干扰地传递。
文件名开头的字符“~”指的是主目录。 常设
单独,即`~',它扩展到调用者的主目录,反映在
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 主页 外壳变量。 当后跟由字母、数字和“-”组成的名称时
字符 shell 搜索具有该名称的用户并替换其家
目录; 因此,`~ken' 可能会扩展为`/usr/ken',而`~ken/chmach' 可能会扩展为`/usr/ken/chmach'。
如果字符 `~' 后跟不是字母或 `/' 的字符或出现
除了单词的开头之外,它不受干扰。 像`setenv这样的命令
MANPATH /usr/人:/ usr /本地/ man:〜/库/人' 因此,不做主目录
正如人们所希望的那样替代。
对于包含 `*'、`?'、`[' 或 `~' 的 glob-pattern 是错误的,有或没有 `^',
不匹配任何文件。 但是,全局模式列表中只有一个模式必须匹配
文件(这样,例如,`rm *.a *.c *.o' 仅在文件中没有文件时才会失败
当前目录以“.a”、“.c”或“.o”结尾),如果 不匹配 外壳变量是
设置一个不匹配的模式(或模式列表)保持不变而不是
导致错误。
这个 环球之星 shell 变量可以设置为允许 `**' 或 `***' 作为文件全局模式
匹配任何字符串,包括`/',递归遍历任何现有的子
目录。 例如,`ls **.c' 将列出当前目录下的所有 .c 文件
树。 如果单独使用,它将匹配匹配零个或多个子目录(例如`ls
/usr/包括/**/time.h' 将列出任何名为 `time.h' 的文件 / usr / include 目录
树; `ls /usr/包括/**time.h' 将匹配 / usr / include 目录树
以‘time.h’结尾; 和`ls /usr/包括/**time**.h' 将匹配任何带有 `time' 的 .h 文件
在子目录名称或文件名本身中)。 为了防止出现问题
递归,‘**’全局模式不会下降到包含一个符号链接
目录。 要覆盖它,请使用 `***' (+)
这个 无球 可以设置 shell 变量以防止文件名替换,并且 扩展全局
编辑器命令,通常绑定到‘^X-*’,可用于交互式扩展单个
文件名替换。
目录 堆 代换 (+),
目录栈是一个目录列表,从零开始编号,由 PUSHD, 波普德
和 迪尔斯 内置命令 (qv)。 迪尔斯 可以打印、存储在文件中、恢复和清除
任何时候的目录堆栈,以及 保存者 和 目录文件 shell 变量可以设置为
注销时自动存储目录堆栈并在登录时恢复它。 这 目录栈
可以检查shell变量以查看目录堆栈并设置为任意
目录进入目录堆栈。
字符 `=' 后跟一个或多个数字扩展为目录中的一个条目
堆。 特殊情况`=-' 扩展到堆栈中的最后一个目录。 例如,
> 目录 -v
0 / usr / bin
1 /usr/假脱机/uucp
2 /usr/accts/系统
> 回声 =1
/usr/假脱机/uucp
> 回声 =0/日历
/usr/bin/日历
> 回声 =-
/usr/帐户/系统
这个 无球 和 不匹配 shell 变量和 扩展全局 编辑器命令适用于
目录堆栈以及文件名替换。
其他 换人 (+),
还有几个涉及文件名的转换,与
上面但这里提到的完整性。 任何 文件名可以扩展为完整路径
当 符号链接 变量 (qv) 设置为“扩展”。 引用阻止了这种扩展,
和 标准化路径 编辑器命令按需执行。 这 规范化命令 编辑
command 根据需要将 PATH 中的命令扩展为完整路径。 最后, cd 和 PUSHD
将‘-’解释为旧的工作目录(相当于shell变量 欠)。 这
根本不是替换,而是仅由那些命令识别的缩写。
尽管如此,它也可以通过引用来防止。
命令
接下来的三个部分描述了 shell 如何执行命令并处理它们的
输入和输出。
简易 命令, 管道 和 序列
一个简单的命令是一个单词序列,其中第一个指定要执行的命令
执行。 由`|'连接的一系列简单命令字符形成一个管道。 这
管道中每个命令的输出都连接到下一个命令的输入。
简单的命令和管道可以用‘;’连接成序列,并会被执行
依次。 命令和管道也可以用`||'连接成序列或`&&',
表明,就像在 C 语言中一样,只有在第一个时才执行第二个
分别失败或成功。
一个简单的命令、管道或序列可以放在括号“()”中,以形成一个
简单的命令,它又可能是管道或序列的组成部分。 一个命令,
管道或序列可以在不等待其终止的情况下执行
带有“&”。
内建 和 非内置 命令 执行
内置命令在 shell 中执行。 如果管道的任何组件除了
last 是一个内置命令,管道在子 shell 中执行。
括号内的命令总是在子shell 中执行。
(cd; 密码); 密码
因此打印 主页 目录,将您留在原处(在 home 之后打印
目录),而
光盘; 密码
把你留在 主页 目录。 带括号的命令最常用于防止
cd 以免影响当前外壳。
当发现要执行的命令不是内置命令时,shell 会尝试
通过执行命令 执行(2). 变量中的每个单词 径 将目录命名为
shell 将查找该命令。 如果没有给 shell -f 选项,
shell 将这些目录中的名称散列到一个内部表中,以便它会尝试一个
执行(2) 仅在命令可能驻留在那里的目录中。
当大量目录存在于
搜索路径。 未使用此散列机制:
1. 如果通过以下方式显式关闭散列 散列.
2. 如果外壳被赋予 -f 论据。
3. 对于每个目录组件 径 不以“/”开头。
4. 如果命令包含`/'。
在上述四种情况下,shell 将路径向量的每个分量与
给定命令名以形成文件的路径名,然后尝试执行它。 如果
执行成功,搜索停止。
如果文件具有执行权限但不是系统的可执行文件(即,它是
既不是可执行二进制文件也不是指定其解释器的脚本),那么它是
假定是一个包含 shell 命令的文件,并且会生成一个新的 shell 来读取它。 这
壳 可以设置特殊别名来指定 shell 本身以外的解释器。
在不理解“#!”的系统上脚本解释器约定 shell 可能是
编译以模拟它; 见 版本 外壳变量。 如果是这样,shell 会检查第一个
文件的行,以查看它是否为‘#!翻译员 ARG ...'. 如果是,外壳
启动 翻译员 与给定的 ARGs 并在标准输入上将文件提供给它。
输入输出
命令的标准输入和标准输出可以通过以下方式重定向
句法:
< 姓名 打开文件 姓名 (这是第一个变量,命令和文件名扩展)作为
标准输入。
<< 字 将 shell 输入读取到与以下相同的行 字. 字 是不是
受变量、文件名或命令替换的影响,并且每个输入行都是
相比 字 在此输入行上进行任何替换之前。 除非一个
引用 `\'、`"'、`' 或 ``' 出现在 字 变量和命令替换是
在中间的行上执行,允许 `\' 引用 `$'、`\' 和 ``'。
被替换的命令保留所有空格、制表符和换行符,
除了最后一个换行符被删除。 结果文本被放置在一个
作为标准输入提供给命令的匿名临时文件。
> 姓名
>! 姓名
>& 姓名
>&! 姓名
该文件 姓名 用作标准输出。 如果文件不存在,那么它是
创造; 如果文件存在,它会被截断,其先前的内容将丢失。
如果外壳变量 无声无息 已设置,则该文件不得存在或为
字符特殊文件(例如,终端或`/dev/null')或错误结果。
这有助于防止意外破坏文件。 在这种情况下,“!” 形式
可用于抑制此检查。
涉及“&”的形式将诊断输出路由到指定的文件中
以及标准输出。 姓名 以与“<”输入相同的方式展开
文件名是。
>> 姓名
>>& 姓名
>>! 姓名
>>&! 姓名
类似于 `>',但将输出附加到末尾 姓名. 如果外壳变量 无声无息
已设置,则文件出错 而不去 存在,除非其中之一“!” 形式
给出。
命令接收调用 shell 的环境,并由
输入-输出参数以及管道中命令的存在。 因此,不像某些
以前的 shell,从 shell 命令文件运行的命令无权访问
默认情况下的命令; 相反,它们接收 shell 的原始标准输入。
`<<' 机制应该用于呈现内联数据。 这允许 shell 命令
脚本作为管道的组成部分,并允许 shell 阻止读取它的
输入。 请注意,分离的命令运行的默认标准输入是 而不去 空的
文件 的/ dev / null的,而是shell的原始标准输入。 如果这是一个终端并且
如果进程试图从终端读取,那么进程将阻塞并且
用户将收到通知(见 工作机会).
诊断输出可以通过带有标准输出的管道进行定向。 只需使用
形成`|&' 而不仅仅是`|'。
外壳程序目前无法在不重定向标准的情况下重定向诊断输出
输出,但是`(命令 > 输出文件) >& 错误文件' 通常是一种可以接受的解决方法。
或 输出文件 or 错误文件 可能是 `/dev/tty' 将输出发送到终端。
功能
已经描述了 shell 如何接受、解析和执行命令行,我们现在转向
其各种有用的功能。
通过积极争取让商标与其相匹配的域名优先注册来维护 流
shell 包含许多可用于调节控制流的命令
在命令文件(shell 脚本)和(以有限但有用的方式)来自终端输入。
这些命令都通过强制 shell 重新读取或跳过其输入来操作,并且由于
执行,限制一些命令的放置。
这个 的foreach, 开关和 而 声明,以及 如果-然后-其他 的形式 if
语句,要求主要关键字出现在输入的单个简单命令中
线如下图。
如果 shell 的输入是不可搜索的,则只要循环被执行,shell 就会缓冲输入
在这个内部缓冲区中读取并执行查找以完成由
环形。 (在这允许的范围内,向后 转到s 将在不可搜索时成功
输入。)
表达式
这个 if, 而 和 出口 内置命令使用具有通用语法的表达式。 这
表达式可以包括在接下来的三个部分中描述的任何运算符。 笔记
该 @ 内置命令 (qv) 有自己单独的语法。
逻辑, 算术的 和 对照 运营商
这些运算符与 C 的运算符类似,并具有相同的优先级。 它们包括
|| && | ^ & == != =~ !~ <= >=
< > << >> + - * / % ! ~ ( )
这里优先级向右增加,`=='`!='`=~'和`!~',`<='`>='`<'和
`>'、`<<' 和`>>'、`+' 和`-'、`*'、`/' 和`%' 处于同一级别的组中。 这
`==' `!=' `=~' 和 `!~' 运算符将它们的参数作为字符串进行比较; 所有其他操作
在数字上。 操作符 `=~' 和 `!~' 类似于 `!=' 和 `==' 除了右手
side 是一个全局模式(见 文件名 代换) 左手操作数所针对的
匹配。 这减少了使用 开关 shell 脚本中的内置命令
当真正需要的是模式匹配时。
空参数或缺失参数被视为“0”。 所有表达式的结果都是字符串,
代表十进制数。 重要的是要注意,没有两个组件的
表达式可以出现在同一个词中; 除非与表达式的组件相邻
对解析器(`&' `|' `<' `>' `(' `)')语法上重要的它们应该是
被空间包围。
命令 出口 状态
命令可以在表达式中执行,并通过将它们括起来返回它们的退出状态
在大括号 (`{}') 中。 请记住,大括号应该与单词的单词分开
空格命令。 命令执行成功,返回真,即'1',如果命令
以状态 0 退出,否则失败,返回 false,即“0”。 如果更详细
状态信息是必需的,那么命令应该在一个
表达式和 状态 外壳变量检查。
文件 查询 运营商
其中一些运算符对文件和相关对象执行真/假测试。 他们是
的形式 -op 文件,在 Moku:Pro 上 op 是其中一个
r 读取权限
w 写权限
x 执行访问
X 可在路径或 shell 内建中执行,例如,`-X ls' 和 `-X ls-F' 通常是
是的,但是`-X / bin / ls' 不是 (+)
e 存在
o 所有权
z 零尺寸
s 非零大小 (+)
f 普通文件
d 目录
l 符号链接 (+) *
b 块特殊文件 (+)
c 字符特殊文件 (+)
p 命名管道 (fifo) (+) *
S 套接字特殊文件 (+) *
u 设置用户 ID 位已设置 (+)
g 设置组 ID 位已设置 (+)
k 粘滞位已设置 (+)
t 文件 (必须是数字)是终端设备的打开文件描述符 (+)
R 已迁移(仅限凸面)(+)
L 将多运算符测试中的后续运算符应用于符号链接而不是
比链接指向的文件 (+) *
文件 扩展命令和文件名,然后测试它是否具有指定的
与真实用户的关系。 如果 文件 不存在或不可访问,或者,对于
'*' 表示的操作符,如果指定的文件类型在当前不存在
系统,则所有查询返回false,即'0'。
为了简洁起见,可以组合这些运算符:`-xy 文件' 等价于 `-x 文件 &&
-y 文件'。 (+) 例如,对于普通的可执行文件,`-fx' 为真(返回 `1'),但是
不适用于目录。
L 可用于多操作员测试以将后续操作员应用于符号链接
而不是链接指向的文件。 例如,`-lLo' 对链接是正确的
由调用用户拥有。 Lr, Lw 和 Lx 对于链接始终为真,对于非链接始终为假
链接。 L 当它是多运算符中的最后一个运算符时具有不同的含义
测试; 见下文。
组合期望
文件 是一个带有操作符的文件(例如, X 和 t)。 下列的 L 与非
文件运算符会导致特别奇怪的结果。
其他运算符返回其他信息,即,不仅仅是“0”或“1”。 (+) 他们有
和以前一样的格式; op 可能是其中之一
A 上次文件访问时间,自纪元以来的秒数
A: 喜欢 A, 但采用时间戳格式,例如,`Fri May 14 16:36:10 1993'
M 最后文件修改时间
M: 喜欢 M, 但采用时间戳格式
C 上次 inode 修改时间
C: 喜欢 C, 但采用时间戳格式
D 设备编号
I 节点数
F 综合 f文件标识符,格式为 设备:索引节点
L 符号链接指向的文件名
N (硬)链接数
P 权限,八进制,不带前导零
P: 喜欢 P, 前导零
P模式 相当于`-P 文件 & 模式',例如,`-P22 文件' 返回 '22' 如果 文件 is
可按组和其他写入,如果仅按组写,则为“20”,否则为“0”
P模式: 喜欢 P模式, 前导零
U 数字用户 ID
U: 用户名,如果用户名未知,则为数字用户 ID
G 数字组 ID
G: 组名,如果组名未知,则为数字组 ID
Z 大小,以字节为单位
在多操作员测试中只能出现这些操作员中的一个,并且它必须是
最后的。 注意 L 在多个的结尾和其他地方具有不同的含义-
操作员测试。 因为“0”是许多这些运算符的有效返回值,所以它们确实
失败时不返回“0”:大多数返回“-1”,并且 F 返回`:'。
如果 shell 是在定义了 POSIX 的情况下编译的(请参阅 版本 shell变量),结果
文件查询是基于文件的权限位而不是结果
ACCESS(2)系统调用。 例如,如果一个人测试一个文件 -w 谁的权限会
通常允许写入但在只读安装的文件系统上,测试将
在 POSIX shell 中成功,但在非 POSIX shell 中失败。
文件查询运算符也可以用 文件测试 内置命令 (qv) (+)。
工作机会
外壳关联一个 工作 每个管道。 它保留了当前作业的表格,打印
由 工作 命令,并为它们分配小整数。 作业开始时
与“&”异步,shell 打印一行看起来像
[1] 1234
表示异步启动的作业是作业号 1 并且有一个
(顶级)进程,其进程 ID 为 1234。
如果您正在运行一项工作并希望做其他事情,您可以按暂停键
(通常是“^Z”),它向当前作业发送一个 STOP 信号。 然后外壳会
通常表示作业已“暂停”并打印另一个提示。 如果
列出工作 设置了 shell 变量,所有作业都将像下面这样列出 工作 内置命令; 如果
它设置为“long”,列表将采用长格式,如“jobs -l”。 然后你可以
操纵暂停作业的状态。 你可以把它放在“背景”中
bg 命令或运行一些其他命令并最终将作业带回
“前景”与 fg. (另见 运行-fg-editor 编辑器命令。)'^Z' 生效
立即,就像一个中断,挂起的输出和未读的输入被丢弃
当它被输入时。 这 等待 内置命令导致外壳等待所有背景
要完成的工作。
`^]' 键发送一个延迟的暂停信号,它不会产生一个停止信号,直到
程序试图 读(2)它,到当前工作。 这可以有用地提前输入,当
您已经为一项工作准备了一些命令,您希望在阅读这些命令后停止这些命令。
`^Y' 键在 长山壕(1); 在 tcsh的, `^Y' 是一个编辑命令。 (+)
如果它尝试从终端读取,则在后台运行的作业将停止。 背景
通常允许工作产生输出,但这可以通过给
命令`stty tostop'。 如果您设置此 tty 选项,则后台作业将在以下时间停止
他们试图产生输出,就像他们试图读取输入时所做的那样。
有多种方法可以在 shell 中引用作业。 字符“%”介绍了一个工作
姓名。 如果您希望引用作业编号 1,您可以将其命名为“%1”。 只是命名一个工作
把它带到前台; 因此“%1”是“fg %1”的同义词,将作业 1 带回
前景。 类似地,说`%1 &' 会在后台恢复工作 1,就像 `bg
%1'。 作业也可以通过输入的字符串的明确前缀来命名以启动它:
`%ex' 通常会重新启动一个挂起的 ex(1) 工作,如果只有一个暂停的工作
名字以字符串`ex'开头。 也可以说`%?绳子' 指定一个
其文本包含的工作 绳子,如果只有一项这样的工作。
Shell 维护当前和先前作业的概念。 在输出有关
工作,当前工作用“+”标记,前一个工作用“-”标记。 这
缩写“%+”、“%”和(类比于 历史 机制)`%%'
all 指的是当前的工作,'%-' 指的是前一个工作。
作业控制机制要求 姿势(1) 在某些系统上设置选项`new'。
它是 tty 驱动程序的“新”实现的产物,它允许生成
从键盘中断字符以告诉作业停止。 看 姿势(1)和 塞蒂
有关在新 tty 驱动程序中设置选项的详细信息,请参阅内置命令。
状态 报告
每当进程改变状态时,shell 就会立即学习。 它通常会通知您
每当工作被阻止以致无法进一步推进时,但只有正确
在它打印提示之前。 这样做是为了不打扰您的工作。
但是,如果您设置了 shell 变量 通知, shell 会立即通知你
后台作业中的状态变化。 还有一个shell命令 通知 这标志着一个
单个进程,以便立即报告其状态更改。 默认情况下 通知
标记当前进程; 只需在启动后台作业后说“通知”即可对其进行标记。
当您在作业停止时尝试离开 shell 时,您将收到警告:`There are
暂停工作。 您可以使用 工作 命令看看它们是什么。 如果你这样做或
立即尝试再次退出,shell 不会再次警告您,并且
暂停的工作将被终止。
自动, 定期 和 定时 事件 (+),
有多种方法可以在不同的时间自动运行命令和执行其他操作
在 shell 的“生命周期”中的次数。 它们在此处进行了总结,并在
在适当的细节下 内建 命令, Special 壳 变量 和 Special
别名.
这个 附表: 内置命令将命令放在计划事件列表中,由
壳在给定的时间。
这个 蜂鸣命令, cwd命令, 定期, 预命令, 后置命令和 作业命令 Special 别名 可以设置,
分别在shell要响铃时执行命令,当工作时
目录变化,每 时间 分钟,在每个提示之前,在每个命令获得之前
执行,在每个命令被执行后,以及当一个作业开始或被带入时
前景。
这个 自动退出 shell 变量可以设置为在给定数字后注销或锁定 shell
分钟的不活动。
这个 mail shell 变量可以设置为定期检查新邮件。
这个 打印出口值 可以设置 shell 变量来打印命令的退出状态
以非零状态退出。
这个 星 可以设置 shell 变量来询问用户,当输入 `rm *' 时,如果是
真的是什么意思。
这个 次 可以设置shell变量来执行 次 后的内置命令
完成任何花费超过给定 CPU 秒数的进程。
这个 看 和 谁 shell 变量可以设置为在选定的用户登录或退出时报告,
和 日志 内置命令随时报告这些用户。
本地人 语言 系统 支持 (+),
外壳是八位干净的(如果这样编译;请参阅 版本 外壳变量),因此
支持需要此功能的字符集。 NLS 支持取决于是否
是否编译 shell 以使用系统的 NLS(再次参见 版本)。 在任一
情况下,7 位 ASCII 是默认字符代码(例如,其中的分类
字符是可打印的)和排序,并改变 朗 or LC_CTYPE 环境
variables 导致检查这些方面的可能变化。
使用系统的 NLS 时, 设置区域(3) 函数被调用以确定合适的
字符代码/分类和排序(例如,“en_CA.UTF-8”将产生“UTF-8”作为
字符代码)。 此函数通常检查 朗 和 LC_CTYPE 环境
变量; 有关详细信息,请参阅系统文档。 不使用时
系统的 NLS,shell 通过假设使用 ISO 8859-1 字符集来模拟它
无论何时 朗 和 LC_CTYPE 变量被设置,而不管它们的值。
模拟 NLS 的排序不受影响。
此外,对于真实和模拟 NLS,范围内的所有可打印字符
\200-\377,即那些有 M-坦克 绑定,会自动反弹到 自
插入命令. 对应的转义绑定——坦克 序列,如果有的话,被留下
独自的。 这些字符不会反弹,如果 诺宾 环境变量已设置。
这对于模拟 NLS 或假设完整 ISO 的原始真实 NLS 可能有用
8859-1。 否则,所有 M-坦克 \240-\377 范围内的绑定被有效地撤销。
显式地重新绑定相关的键 绑定键 当然还是有可能的。
未知字符(即那些既不可打印也不控制字符的字符)是
以\nnn 格式打印。 如果 tty 不是 8 位模式,则其他 8 位字符是
通过将它们转换为 ASCII 并使用突出模式来打印。 外壳永远不会改变
tty 的 7/8 位模式并跟踪用户发起的 7/8 位模式更改。 NLS 用户(或,
就此而言,那些想要使用元键的人)可能需要在 8 中显式设置 tty
位模式通过适当的 姿势(1) 命令,例如 ~/.登录 文件中。
OS 变种 支持 (+),
提供了许多新的内置命令来支持特定操作的功能
系统。 所有内容都在 内建 命令 部分。
在支持 TCF(aix-ibm370、aix-ps2)的系统上, 获取路径 和 设置路径 获取并设置
系统执行路径, 获取xvers 和 设置交换器 获取和设置实验版本前缀
和 迁移 在站点之间迁移进程。 这 工作 内置打印网站
每个作业都在执行。
在 BS2000 下, bs2命令 执行底层 BS2000/OSD 操作系统的命令。
在域/操作系统下, 内库 将共享库添加到当前环境中, 根节点 变化
根节点和 版本 更改系统类型。
在马赫之下, 设置路径 等价于马赫 设置路径(1)。
在 Masscomp/RTU 和 Harris CX/UX 下, 宇宙 设置宇宙。
在 Harris CX/UX 下, 乌兹别克斯坦 or 至 在指定的 Universe 下运行命令。
在凸面/操作系统下, 经 打印或设置 Universe。
这个 卖方, 操作系统类型 和 机器类型 环境变量分别表示供应商,
系统的操作系统和机器类型(微处理器类或机器模型)
shell 认为它正在运行。 这些在分享一个人的时候特别有用
几种类型机器之间的主目录; 例如,一个人可以
设置路径 = (〜/斌。$MACHTYPE /usr/ucb /箱 / usr / bin .)
在一个人的 ~/.登录 并将为每台机器编译的可执行文件放在适当的
目录。
这个 版本 shell 变量表示编译 shell 时选择了哪些选项。
另请注意 新组 内置的 用户 和 回声风格 shell变量和系统-
shell 输入文件的依赖位置(请参阅 FILES).
信号 处理
登录 shell 在读取文件时忽略中断 〜/.注销. shell 忽略退出
信号除非以 -q. 登录 shell 捕获终止信号,但不登录
shell 从它们的父母那里继承了终止行为。 其他信号具有值
shell 从其父级继承的。
在 shell 脚本中,shell 对中断和终止信号的处理可以是
控制与 内存, 并且它对挂断的处理可以通过 HUP 和 诺哈普.
shell 在挂断时退出(另请参阅 注销 壳变量)。 默认情况下,外壳的
孩子们也这样做,但外壳在退出时不会向他们发送挂断信号。 HUP 安排
壳在退出时向孩子发送挂断信号,以及 诺哈普 设置孩子忽略
挂断。
终端 管理 (+),
shell 使用三组不同的终端(``tty'')模式:`edit',在以下情况下使用
编辑,`quote',在引用文字字符时使用,`execute',在执行时使用
命令。 shell 在每个模式下都保存了一些设置常量,所以离开的命令
处于混乱状态的 tty 不会干扰 shell。 外壳也匹配
tty 的速度和填充的变化。 保持不变的 tty 模式列表
可以检查和修改 塞蒂 内置。 请注意,虽然编辑器使用
CBREAK 模式(或其等效模式),它无论如何都需要预先输入的字符。
这个 回声, 设置 和 告诉 命令可用于操作和调试终端
来自命令行的功能。
在支持 SIGWINCH 或 SIGWINDOW 的系统上,shell 适应窗口大小调整
自动调整环境变量 线数 和 柱 如果设置。 如果
环境变量 术语表 包含 li# 和 co# 字段,shell 会将它们调整为
反映新的窗口大小。
参考
本手册的下一部分描述了所有可用的 内建 命令, Special
别名 和 Special 壳 变量.
内建 命令
%工作 的同义词 fg 内置命令。
%工作 & 的同义词 bg 内置命令。
: 什么都不做,成功。
@
@ 姓名 = 表达式
@ 姓名[指数] = 表达式
@ 姓名++|--
@ 姓名[指数]++|--
第一种形式打印所有 shell 变量的值。
第二种形式赋值 表达式 至 姓名. 第三种形式分配
价值 表达式 以及 指数'的第一个组成部分 姓名; 都 姓名 以及 指数'th
组件必须已经存在。
表达式 可能包含运算符“*”、“+”等,如在 C 中。如果 表达式 包含`<',
`>'、`&' 或 `' 然后至少是 表达式 必须放在‘()’中。 笔记
的语法 表达式 与下面描述的无关 表达式.
第四种和第五种形式递增(`++')或递减(`--') 姓名 或其
指数'th 组件。
“@”和“@”之间的空格 姓名 是必须的。 之间的空格 姓名 和 `=' 和
在 `=' 和 表达式 是可选的。 组件 表达式 必须分开
空格。
别号 [姓名 [词汇表]]
没有参数,打印所有别名。 和 姓名, 打印 name 的别名。
通过 姓名 和 词汇表, 分配 词汇表 作为别名 姓名. 词汇表 is
命令和文件名被替换。 姓名 不能是“别名”或“非别名”。 也可以看看
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 无别名 内置命令。
分配 显示获取的动态内存量,分为已用和空闲
记忆。 带参数显示每个大小的空闲和已用块的数量
类别。 类别从大小 8 开始,每一步加倍。 这个命令的
输出可能因系统类型而异,因为 VAX 以外的系统可能使用
不同的内存分配器。
bg [%工作 ...]
将指定的作业(或不带参数的当前作业)放入
背景,如果停止则继续。 工作 可以是数字、字符串、`'、
`%'、`+' 或 `-' 如下所述 工作机会.
绑定键 [-l|-d|-e|-v|-u] (+)
绑定键 [-a[-b[-k[-r[--] 键 (+),
绑定键 [-a[-b[-k[-c|-s[--] 键 命令 (+),
没有选项,第一个表单列出所有绑定键和编辑器命令
每个都绑定,第二个形式列出编辑器命令 键 is
绑定和第三种形式绑定编辑器命令 命令 至 键. 选项
包括:
-l 列出所有编辑器命令和每个命令的简短说明。
-d 将所有键绑定到默认编辑器的标准绑定。
-e 将所有键绑定到标准的 GNU Emacs 类绑定。
-v 将所有键绑定到标准 vi(1) 类绑定。
-a 列出或更改备用键映射中的键绑定。 这是关键地图
所用 vi 命令模式。
-b 键 被解释为写成 ^ 的控制字符字符 (例如,`^A')或
C-字符 (例如,`C-A'),一个元字符,写成 M-字符 (例如,'M-A'),
功能键写为 F-绳子 (例如,`F-string'),或扩展的前缀键
写X-字符 (例如,'X-A')。
-k 键 被解释为符号箭头键名称,可能是“向下”之一,
“上”、“左”或“右”。
-r 删除 键的绑定。 小心:`bindkey -r' 确实如此 而不去 绑定 键 至 自
插入命令 (qv), 它解除绑定 键 完全。
-c 命令 被解释为内置或外部命令而不是编辑器
命令。
-s 命令 被视为文字字符串并在以下情况下被视为终端输入 键 is
打字。 绑定键 命令 自己被重新解释,而且这种情况还在继续
十个级别的解释。
-- 强制中断选项处理,因此下一个单词被视为 键 甚至
如果它以“-”开头。
-u (或任何无效选项)
打印使用消息。
键 可以是单个字符或字符串。 如果命令绑定到字符串,则
字符串的第一个字符绑定到 序列导入 和整个字符串
绑定到命令。
控制字符 键 可以是文字(可以通过在它们前面加上
编辑器命令 引用插入, 通常绑定到 `^V') 或书面插入符号-
字符样式,例如'^A'。 删除写成'^?' (插入符号问号)。 键
和 命令 可以包含反斜杠转义序列(以 System V 的风格
回音(1)) 如下:
\a 钟
\b Backspace键
\e 逃生
\f 换页
\n 新队
\r 回车
\t 水平标签
\v 垂直标签
\NNN 八进制数对应的ASCII字符 NNN
`\' 取消以下字符的特殊含义,如果有的话,
尤其是“\”和“^”。
bs2命令 bs2000-命令 (+),
通行证 bs2000-命令 到 BS2000 命令解释器执行。 只有非
可以执行交互式命令,不能执行任何命令
命令将覆盖当前进程的图像,如 /EXECUTE 或
/呼叫程序。 (仅限 BS2000)
打破 导致执行在 end 最近的封闭 的foreach or
而. 执行当前行上的其余命令。 多层次
因此,将它们全部写在一行上就可以中断。
断断续续 导致中断 开关, 恢复后 收尾.
内置函数 (+),
打印所有内置命令的名称。
再见 (+) 的同义词 注销 内置命令。 仅当外壳如此时才可用
编译; 见 版本 外壳变量。
案件 标签:
一个标签 开关 声明如下所述。
cd [-p[-l[-n|-v] [一世 - ] [姓名]
如果一个目录 姓名 给出,将 shell 的工作目录更改为 姓名。 如果
不,改为 主页。 如果 姓名 是`-'它被解释为以前的工作
目录(见 其他 换人)。 (+) 如果 姓名 不是的子目录
当前目录(不以‘/’、‘./’或‘../’开头),
变量 路径 检查它是否有子目录 姓名. 最后,如果
所有其他的都失败了 姓名 是一个值以`/'开头的shell变量,那么这个
试图查看它是否是一个目录。
通过 -p, 打印最终的目录栈,就像 迪尔斯。 该 -l, -n 和 -v
标志具有相同的效果 cd 一个儿子 迪尔斯,他们暗示 -p. (+) 使用 --
强制中断选项处理,以便将下一个单词作为目录
姓名 即使它以“-”开头。 (+)
另见 隐含的cd 外壳变量。
目录 的同义词 cd 内置命令。
完成 [命令 [字/模式/名单[:选择]/[[后缀]/] ...]] (+)
不带参数,列出所有完成。 和 命令, 列出完成
命令。 同 命令 和 字 等,定义完成。
命令 可能是完整的命令名称或全局模式(请参阅 文件名 代换).
它可以以“-”开头,表示仅在以下情况下才应使用完成 命令
是模棱两可的。
字 指定与当前词相关的哪个词要完成,并且可以
是以下之一:
c 当前词完成。 模式 是一个全局模式,它必须匹配
命令行上当前单词的开头。 模式 被忽略
完成当前单词时。
C 喜欢 c,但包括 模式 完成当前单词时。
n 下一个单词完成。 模式 是一个全局模式,它必须匹配
命令行上前一个单词的开头。
N 喜欢 n, 但必须匹配当前词前两个词的开头
字。
p 位置相关补全。 模式 是一个数字范围,具有相同的
用于索引 shell 变量的语法,必须包含当前单词。
名单,可能完成的列表,可能是以下之一:
a 别名
b 绑定(编辑器命令)
c 命令(内置或外部命令)
C 以提供的路径前缀开头的外部命令
d 目录
D 以提供的路径前缀开头的目录
e 环境变量
f 档名
F 以提供的路径前缀开头的文件名
g 组名
j 工作机会
l 极限
n 没什么
s 外壳变量
S 信号
t 纯(“文本”)文件
T 以提供的路径前缀开头的纯(“文本”)文件
v 任何变量
u 用户名
x 喜欢 n,但打印 选择 ,尤其是 列表选择 用来。
X 完井
$VAR 来自变量的词 VAR
(...) 给定列表中的单词
`...` 命令输出中的单词
选择 是一个可选的全局模式。 如果给出,则仅来自 名单 那场比赛
选择 被考虑和 忽略 shell 变量被忽略。 最后三个
完成类型可能没有 选择 模式,和 x 使用 选择 作为
解释性消息时 列表选择 使用编辑器命令。
后缀 是要附加到成功完成的单个字符。 如果为空,
没有附加字符。 如果省略(在这种情况下,第四个分隔符也可以
被省略),一个斜杠被附加到目录,一个空格附加到其他词。
命令 从 `...` 版本调用有额外的环境变量集,
变量名是 命令行 并包含(如其名称所示)的内容
当前(已输入)命令行。 一个人可以检查和使用
命令行 自定义脚本中的变量以构建更复杂的完成
(见完成 svn(1) 包含在此包中)。
现在举一些例子。 一些命令只将目录作为参数,所以
完成普通文件没有意义。
> 完整的 cd 'p/1/d/'
仅用目录完成 `cd' (`p/1') 之后的第一个单词。 p-类型
完成也可用于缩小命令完成范围:
> co[^D]
完全压缩
> 完整 -co* 'p/0/(压缩)/'
> co[^D]
> 压缩
这个完成完成了以
`co'(因此匹配 `co*')到 `compress'(列表中唯一的单词)。 领先的
`-' 表示这个补全只用于不明确的命令。
> 完成查找 'n/-user/u/'
就是一个例子 n- 类型完成。 “查找”之后的任何单词并立即
以下`-user'是从用户列表中完成的。
> 完整的 cc 'c/-I/d/'
演示 c- 类型完成。 任何跟在“cc”之后并以“-I”开头的词
作为目录完成。 `-I' 不作为目录的一部分,因为
我们使用小写 c.
不同 名单s 对不同的命令很有用。
> 完整别名“p/1/a/”
> 完整的人 'p/*/c/'
> 完整集 'p/1/s/'
> 完全正确 'p/1/x:Truth 没有选项。/'
这些完整的单词跟在带有别名的 `alias'、带有命令的 `man' 和
使用 shell 变量“设置”。 `true' 没有任何选项,所以 x 什么也没做
当尝试完成并打印“Truth has no options”时。 完成时
列出了选项。
请注意 男子 例如,以及下面的其他几个例子,也可以
已使用 'c/*' 或 'n/*' 作为 'p/*'。
单词可以从完成时评估的变量中完成,
> 完整的 ftp 'p/1/$hostnames/'
> 设置主机名 = (rtfm.mit.edu tesla.ee.cornell.edu)
> ftp [^D]
rtfm.mit.edu 特斯拉.ee.cornell.edu
> ftp [^C]
> 设置主机名 = (rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net)
> ftp [^D]
rtfm.mit.edu tesla.ee.cornell.edu uunet.uu.net
或从完成时运行的命令:
> 完全杀死 'p/*/`ps | awk \{print\ \$1\}`/'
> 杀死 -9 [^D]
23113 23377 23380 23406 23429 23529 23530 PID
请注意 完成 命令本身不引用它的参数,所以大括号,
`{print $1}' 中的空格和 `$' 必须显式引用。
一个命令可以有多个完成:
> 完整的 dbx 'p/2/(core)/' 'p/*/c/'
用单词“core”和所有其他词完成“dbx”的第二个参数
带命令的参数。 注意位置补全是在前面指定的
下一个单词完成。 因为完成是从左到右评估的,
如果首先指定下一个单词完成,它将始终匹配,并且
永远不会执行位置完成。 这是一个常见的错误,当
定义完成。
这个 选择 当命令仅获取具有特定形式的文件时,模式很有用
作为论据。 例如,
> 完整的 cc 'p/*/f:*.[cao]/'
完成对仅以“.c”、“.a”或“.o”结尾的文件的“cc”参数。 选择 能够
还排除文件,使用 glob-pattern 的否定,如下所述 文件名
代换. 一个可能会用
> 完整的 rm 'p/*/f:^*.{c,h,cc,C,tex,1,man,l,y}/'
从“rm”完成中排除宝贵的源代码。 当然,还是可以
手动键入排除的名称或使用
完整词原始 or 列表选择原始 编辑器命令 (qv)。
“C”、“D”、“F”和“T” 名单s 分别类似于 `c'、`d'、`f' 和 `t',但是
他们使用 选择 以不同的方式参数:限制完成文件
以特定的路径前缀开头。 例如,Elm 邮件程序使用
`=' 作为一个人的邮件目录的缩写。 一个可能会用
> 完整的榆树 c@=@F:$HOME/Mail/@
完成 `elm -f =' 就好像它是 `elm -f 〜/邮件/'。 请注意,我们使用了 `@'
而不是 `/' 以避免与 选择 参数,我们使用了`$HOME'
而不是“~”,因为主目录替换仅在
一个字。
后缀 用于向目录添加非标准后缀(不是空格或`/')
完成的话。
> 完整的手指 'c/*@/$hostnames/' 'p/1/u/@'
从用户列表中完成对“finger”的参数,附加一个“@”,然后
在 `hostnames' 变量的 `@' 之后完成。 再次注意顺序
哪些完成被指定。
最后,这是一个复杂的灵感示例:
> 完成查找 \
'n/-name/f/' 'n/-newer/f/' 'n/-{,n}cpio/f/' \
'n/-exec/c/' 'n/-ok/c/' 'n/-user/u/' \
'n/-group/g/' 'n/-fstype/(nfs 4.2)/' \
'n/-type/(bcdflps)/' \
´c/-/(名称较新的 cpio ncpio exec ok 用户 \
组 fstype 类型 atime ctime 深度 inum \
ls mtime nogroup nouser perm 打印修剪\
大小 xdev)/' \
'p/*/d/'
这完成了“-name”、“-newer”、“-cpio”或“ncpio”之后的单词(注意
将两者匹配的模式)到文件,“-exec”或“-ok”后面的单词
命令,“user”和“group”后面的单词分别指向用户和组,以及
“-fstype”或“-type”后面的单词到给定列表的成员。 它也是
从给定的列表中完成开关本身(注意使用 c-类型
完成)并完成目录中未完成的任何内容。 哇。
请记住,如果要完成的单词是一个
波浪号替换(以“~”开头)或变量(以“$”开头)。
完成 是一项实验性功能,未来版本中的语法可能会发生变化
的外壳。 另见 不完整的 内置命令。
继续
继续执行最近的封闭 而 or 的foreach。 剩下的
执行当前行上的命令。
默认情况下:
将默认情况标记为 开关 陈述。 毕竟应该来 案件
标签。
迪尔斯 [-l[-n|-v]
迪尔斯 -S|-L [文件名] (+)
迪尔斯 -c (+),
第一种形式打印目录堆栈。 栈顶在左边
堆栈中的第一个目录是当前目录。 和 -l, `~' 或
`~姓名' 在输出中显式扩展为 主页 或家的路径名
用户目录 姓名. (+) 与 -n, 条目在到达之前被包装
屏幕边缘。 (+) 与 -v, 条目每行打印一个,前面是
他们的堆栈位置。 (+) 如果不止一个 -n or -v 给出, -v 需要
优先权。 -p 被接受但什么都不做。
通过 -S,第二种形式保存目录栈到 文件名 作为一系列 cd
和 PUSHD 命令。 和 -L,shell源 文件名,这大概是一个
保存的目录堆栈文件 -S 选项还是 保存者 机制。 在任一
案件, 目录文件 用于如果 文件名 没有给出并且 〜/.cshdirs 用于如果 目录文件
未设置。
请注意,登录外壳程序在启动时执行的等效于“dirs -L”,如果 保存者
在退出之前设置,`dirs -S'。 因为只有 〜/.tcshrc 通常来源
before 〜/.cshdirs, 目录文件 应该设置在 〜/.tcshrc 而非 ~/.登录.
最后一种形式清除目录堆栈。
回音 [-n] 字 ...
写每个 字 到 shell 的标准输出,由空格和
以换行符结束。 这 回声风格 shell 变量可以设置为模拟
(或不是)BSD 和/或 System V 版本的标志和转义序列
回音; 看到 回音(1)。
回声 [-sv] ARG ... (+)
锻炼终端能力(见 期限上限(5)) 在 ARGS。 例如,
'echotc home' 将光标发送到起始位置,'echotc cm 3 10' 将其发送到
第 3 列和第 10 行,以及 'echotc ts 0; echo "这是一个测试。"; echotc fs' 打印
“这是一个测试。” 在状态行中。
If ARG 是 'baud', 'cols', 'lines', 'meta' 或 'tabs',打印那个值
能力(“是”或“否”表明终端有或没有
能力)。 人们可能会使用它来减少 shell 脚本的输出
在慢速终端上进行详细说明,或将命令输出限制为
屏幕:
> 设置历史=`echotc 行`
> @历史--
Termcap 字符串可能包含无法正确回显的通配符。 一个应该
将 shell 变量设置为终端功能字符串时使用双引号,
如以下将日期放在状态行中的示例:
> 设置 tosl="`echotc ts 0`"
> 设置 frsl="`echotc fs`"
> echo -n "$tosl";日期; echo -n "$frsl"
通过 -s, 不存在的功能返回空字符串而不是导致
错误。 和 -v, 消息很冗长。
其他
end
ENDIF
收尾 见说明 的foreach, if, 开关和 而 下面的陈述。
评估 ARG ...
将参数视为 shell 的输入并执行生成的命令
在当前 shell 的上下文中。 这通常用于执行命令
作为命令或变量替换的结果生成,因为解析
发生在这些替换之前。 看 预设(1) 样品使用 评估.
EXEC 命令
代替当前 shell 执行指定的命令。
出口 [表达式]
shell 以指定的值退出 表达式 (一个表达式,如
在下描述 表达式) 或者,没有 表达式,值为 0。
fg [%工作 ...]
将指定的作业(或不带参数的当前作业)带入
前台,如果停止则继续。 工作 可以是数字、字符串、`'、
`%'、`+' 或 `-' 如下所述 工作机会。 另请参阅 运行-fg-editor 编辑
命令。
文件测试 -op 文件 ... (+)
适用 op (这是一个文件查询运算符,如下所述 文件 查询
运营商) 每个 文件 并以空格分隔的列表形式返回结果。
的foreach 姓名 (词汇表)
...
end 依次设置变量 姓名 给每一个成员 词汇表 并执行
此命令和匹配的命令之间的命令序列 end. (两个都 的foreach 和
end 必须单独出现在不同的行中。)内置命令 继续 也许
用于过早地继续循环和内置命令 打破 终止
它过早。 当从终端读取此命令时,读取循环
一旦用`foreach 提示? ' (或者 提示2) 在循环中的任何语句之前
执行。 如果你在终端输入一个循环出错,你可以擦它
出。
获取路径 (+),
打印系统执行路径。 (仅限 TCF)
获取xvers (+),
打印实验版本前缀。 (仅限 TCF)
水珠 词汇表
喜欢 回音,但无法识别“-n”参数,单词由
输出中的空字符。 对于希望使用 shell 的程序很有用
文件名 展开一个单词列表。
转到 字
字 是文件名和命令替换以产生'label'形式的字符串。
外壳尽可能多地回绕其输入,搜索表单中的一行
`label:',前面可能有空格或制表符,然后继续执行
线。
哈希统计
打印一个统计信息行,指示内部哈希表的有效性
在定位命令(并避免 EXEC的)。 一个 EXEC 尝试为每个
的组成部分 径 其中散列函数指示可能的命中,并且在
每个不以“/”开头的组件。
在没有的机器上 叉子(2)、只打印散列桶的数量和大小。
历史 [-hTr[n]
历史 -S|-L|-M [文件名] (+)
历史 -c (+),
第一种形式打印历史事件列表。 如果 n 只给出 n 最先进的
最近的事件被打印或保存。 和 -h, 历史列表没有打印
领先的数字。 如果 -T 指定时,时间戳也以注释形式打印。
(这可用于生成适合使用 'history -L' 或
'source -h'。)与 -r, 打印的顺序是最近的而不是
最老的优先。
通过 -S,第二种形式将历史列表保存到 文件名. 如果第一个字
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 救世主 shell 变量设置为一个数字,最多保存多少行。
如果第二个字 救世主 设置为“合并”,历史列表与
现有的历史文件而不是替换它(如果有)并按以下顺序排序
时间戳。 (+) 合并适用于像 X Window 系统这样的环境
多个炮弹同时使用。 目前只有当
贝壳一个接一个地退出。
通过 -L, 外壳附加 文件名,这大概是保存的历史列表
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 -S 选项还是 救世主 机制,到历史列表。 -M 就像 -L,但
的内容 文件名 合并到历史列表中并按时间戳排序。
在任一情况下, 历史文件 用于如果 文件名 没有给出并且 ~/.历史 用来
if 历史文件 未设置。 `history -L' 与 'source -h' 完全一样,只是它
不需要文件名。
请注意,登录外壳程序在启动时执行的等效于“history -L”,如果
救世主 在退出之前设置,'history -S'。 因为只有 〜/.tcshrc 通常是
之前的来源 ~/.历史, 历史文件 应该设置在 〜/.tcshrc 而非
~/.登录.
If 历史 设置后,第一种和第二种形式打印并保存文字
(未展开的)历史列表的形式。
最后一种形式清除历史列表。
HUP [命令] (+)
通过 命令,运行 命令 这样它就会在挂断信号时退出并安排
当外壳退出时,外壳向其发送挂断信号。 注意命令
可以设置自己对挂断的响应,覆盖 HUP. 没有争论,
导致非交互式 shell 仅在挂断时退出
脚本。 也可以看看 信号 处理 和 诺哈普 内置命令。
if (表达式) 命令
If 表达式 (一个表达式,如下所述 表达式) 评估为真,然后
命令 被执行。 变量替换 命令 发生得早,同时
剩下的时间 if 命令。 命令 必须是一个简单的命令,
不是别名、管道、命令列表或带括号的命令列表,但它
可能有争论。 即使发生输入/输出重定向 表达式 是假的
命令 因此是 而不去 被执行; 这是一个错误。
if (表达式) 然后
...
其他 if (表达式2) 然后
...
其他
...
ENDIF 如果指定 表达式 为真,则对第一个的命令 其他 被处决;
否则如果 表达式2 为真,则第二个的命令 其他 被执行等
任意数量 否则-如果 成对是可能的; 只有一个 ENDIF 是必需的。 这 其他 部分
同样是可选的。 (话 其他 和 ENDIF 必须出现在开头
输入线; 这 if 必须单独出现在其输入行上或出现在 其他.)
内库 共享库 ... (+)
添加每个 共享库 到目前的环境。 没有办法删除一个
共享库。 (仅限域/操作系统)
工作 [-l]
列出活动作业。 和 -l, 列出除了正常的进程 ID
信息。 在 TCF 系统上,打印每个作业正在执行的站点。
杀 [-s 信号] %工作|PID ...
杀 -l 第一种和第二种形式发送指定的 信号 (或者,如果没有给出,则
TERM(终止)信号)到指定的作业或进程。 工作 可能是一个数字,
字符串、`'、`%'、`+' 或 `-',如下所述 工作机会. 信号要么给出
按编号或按名称(如 /usr/include/signal.h, 去掉前缀
'SIG')。 没有默认 工作; 只说“kill”不会向
当前工作。 如果发送的信号是 TERM(终止)或 HUP(挂断),则
作业或进程也会发送一个 CONT(继续)信号。 第三个表格列表
信号名称。
限制 [-h[资源 [最大使用]]
限制当前进程及其创建的每个进程的消耗
个别超过 最大使用 在指定的 资源。 如果不 最大使用 is
给定,然后打印当前限制; 如果不 资源 给定,那么所有
给出了限制。 如果 -h 给出了标志,而是使用硬限制
的当前限制。 硬性限制对
电流限制。 只有超级用户可以提高硬限制,但用户可以
在合法范围内降低或提高电流限制。
目前可控资源包括(如果操作系统支持):
时间
每个进程使用的最大 CPU 秒数
文件大小
可以创建的最大单个文件
数据大小
数据+堆栈区域的最大增长通过 斯布尔克(2) 超越结束
程序文本
堆栈大小
自动扩展堆栈区域的最大大小
核心转储大小
将创建的最大核心转储的大小
记忆使用
进程可能分配给它的最大物理内存量
给定的时间
内存使用
进程可能分配给它的最大虚拟内存量
给定的时间(地址空间)
内存使用
进程可能分配给它的最大虚拟内存量
给定的时间
堆大小
进程可以分配的最大内存量 brk() 系统调用
描述符 or 打开文件
此进程的最大打开文件数
并发
此进程的最大线程数
记忆锁定
进程可以使用的最大大小锁定到内存中 锁(2)
最大进程
此用户 ID 的最大并发进程数
大小 此用户的套接字缓冲区使用的最大大小
交换大小
为该用户保留或使用的最大交换空间量
最大锁数
此用户的最大锁数
最大信号
此用户的最大挂起信号数
最大消息
此用户的 POSIX mqueue 中的最大字节数
最大的
允许用户提高映射的最大优先级
[19...-20] 到 [0...39] 此用户
最大优先级
此用户的最大实时优先级 最大时间 RT 超时
此用户的任务(以微秒为单位)。
最大使用 可以作为(浮点数或整数)数字给出,后跟一个
比例因子。 对于所有限制,除了 时间 默认比例为“k”或
“千字节”(1024 字节); “m”或“兆字节”或“g”的比例因子或
也可以使用“千兆字节”。 为了 时间 默认缩放为“秒”,而
`m' 代表分钟或 `h' 代表小时,或一个形式为 `mm:ss' 的时间,给出分钟和
可以使用秒。
If 最大使用 是“无限制”,则对指定的限制 资源 is
删除(这相当于 无限制 内置命令)。
对彼此而言 资源 名称和比例因子,名称的明确前缀
满足。
日志 (+) 打印 看 shell 变量和报告中指示的每个用户 看 是谁
已登录,无论他们上次登录是什么时候。另请参阅 监视日志.
登录 终止登录外壳,用一个实例替换它 /bin/登录。 这是一
注销方式,包括为了与 sh(1)。
注销 终止登录 shell。 特别有用,如果 忽略 置。
ls-f [-开关 ...] [文件 ...] (+)
列出类似 `ls -F' 的文件,但速度要快得多。 它标识了每种类型的特殊
清单中带有特殊字符的文件:
/ 目录
* 可执行
# 块设备
% 字符设备
| 命名管道(仅具有命名管道的系统)
= 插座(仅带插座的系统)
@ 符号链接(仅具有符号链接的系统)
+ 隐藏目录(仅限 AIX)或上下文相关(仅限 HP/UX)
: 网络专用(仅限 HP/UX)
如果 列表链接 设置了 shell 变量,符号链接在 more 中标识
详细信息(当然,仅在具有它们的系统上):
@指向非目录的符号链接
> 指向目录的符号链接
& 符号链接无处可去
列表链接 也会变慢 ls-f 并导致分区保存指向的文件
要挂载的符号链接。
如果 列表标志 shell 变量设置为“x”、“a”或“A”,或任意组合
其(例如,'xA'),它们被用作标志以 ls-f, 让它像 `ls -xF' 一样,
`ls -Fa'、`ls -FA' 或组合(例如,`ls -FxA')。 在'ls -C'的机器上
不是默认值, ls-f 就像 `ls -CF' 一样,除非 列表标志 包含一个‘x’,在
在这种情况下,它的作用类似于“ls -xF”。 ls-f 将其参数传递给 ls(1) 如果是
给定任何开关,所以 `alias ls ls-F' 通常会做正确的事情。
这个 ls-f 内置可以根据文件类型使用不同颜色列出文件
或扩展。 见 颜色 shell 变量和 LS_颜色 环境
变量。
迁移 [-网站] PID|%作业编号 ... (+)
迁移 -网站 (+),
第一种形式将流程或作业迁移到指定站点或默认站点
站点由系统路径决定。 第二种形式相当于`migrate
-网站 $$':将当前进程迁移到指定站点。 迁移
shell 本身会导致意外行为,因为 shell 不喜欢
失去它的 tty。 (仅限 TCF)
新组 [-] [团体] (+),
相当于`exec newgrp'; 看 新组(1). 仅当外壳如此时才可用
编译; 见 版本 外壳变量。
不错 [+数[命令]
将 shell 的调度优先级设置为 数,或者,没有 数,到 4。
通过 命令,运行 命令 在适当的优先级。 越大 数,
进程获得的 CPU 越少。 超级用户可以通过以下方式指定负优先级
使用`nice -number ...'。 命令总是在子 shell 中执行,并且
对简单命令的限制 if 声明适用。
诺哈普 [命令]
通过 命令,运行 命令 这样它将忽略挂断信号。 注意
命令可以设置自己对挂断的响应,覆盖 诺哈普. 没有
参数,导致非交互式 shell 只忽略挂断
脚本的其余部分。 也可以看看 信号 处理 和 HUP 内置命令。
通知 [%工作 ...]
当任何一个的状态发生时,使shell异步通知用户
指定的工作(或者,没有 %工作,当前工作)改变,而不是等待
直到下一个提示照常。 工作 可以是数字、字符串、`'、`%'、`+' 或
`-' 如下所述 工作机会。 另请参阅 通知 外壳变量。
内存 [-|标签]
控制外壳对中断的操作。 没有参数,恢复
shell 对中断的默认操作,即终止 shell 脚本或
返回到终端命令输入级别。 使用‘-’,导致所有中断
被忽略。 和 标签, 导致 shell 执行 `goto 标签' 当一个
收到中断或子进程因被中断而终止。
内存 如果外壳运行分离并且在系统启动文件中被忽略
(见 FILES),无论如何都禁用中断。
波普德 [-p[-l[-n|-v[+n]
没有参数,弹出目录堆栈并返回到新的顶级目录。
用一个数字`+n', 丢弃 n'堆栈中的第一个条目。
最后,所有形式的 波普德 打印最终的目录栈,就像 迪尔斯。 该
推无声 可以设置 shell 变量来防止这种情况和 -p 可以给flag
覆盖 推无声。 该 -l, -n 和 -v 标志具有相同的效果 波普德 as
on 迪尔斯。 (+)
打印环境 [姓名] (+)
打印所有环境变量的名称和值,或者使用 姓名, 价值
环境变量的 姓名.
PUSHD [-p[-l[-n|-v[姓名|+n]
不带参数,交换目录堆栈的顶部两个元素。 如果
推到家 设置, PUSHD 没有参数做`pushd ~',就像 cd. (+) 与
姓名, 将当前工作目录推送到目录堆栈并更改为
姓名。 如果 姓名 是“-”,它被解释为以前的工作目录(参见
文件名 代换)。 (+) 如果 杜尼克 设置, PUSHD 删除任何实例
姓名 在将其推入堆栈之前从堆栈中取出。 (+) 带数字`+n',
旋转 n目录堆栈的第 th 个元素是顶部元素和
改变它。 如果 提取物 已设置,但是,`pushd +n' 提取 nth
目录,将其压入堆栈顶部并更改它。 (+)
最后,所有形式的 PUSHD 打印最终的目录栈,就像 迪尔斯。 该
推无声 可以设置 shell 变量来防止这种情况和 -p 可以给flag
覆盖 推无声。 该 -l, -n 和 -v 标志具有相同的效果 PUSHD as
on 迪尔斯。 (+)
重新哈希 导致目录中内容的内部哈希表 径
要重新计算的变量。 如果 自动重新哈希 shell 变量不是
设置和新命令被添加到目录中 径 在您登录时。
通过 自动重新哈希, 将自动找到新命令,特殊命令除外
如果另一个同名命令位于不同的
目录已存在于哈希表中。 也刷新了home的缓存
由波浪号扩展构建的目录。
重复 数 命令
指定的 命令, 受相同的限制 命令 in
一行 if 上面的语句,被执行 数 次。 发生 I/O 重定向
恰好一次,即使 数 是0。
根节点 //节点名 (+),
将根节点更改为 //节点名,所以`/'将被解释为
`//节点名'。 (仅限域/操作系统)
附表: (+),
附表: [+]HH:MM 命令 (+),
附表: -n (+),
第一种形式打印预定事件列表。 这 附表: shell 变量可能是
设置以定义打印预定事件列表的格式。 第二
表格添加 命令 到预定事件列表。 例如,
> sched 11:00 echo 现在是十一点。
导致外壳回声“现在是 11 点钟”。 上午 XNUMX 点。 时间可能在
12 小时 AM/PM 格式
> sched 5pm set prompt='[%h] It\'s after 5; 回家:>'
或者可能是相对于当前时间:
> 调度 +2:15 /usr/lib/uucp/uucico -r1 -sother
相对时间规范可能不使用 AM/PM 格式。 第三种形式删除
项目 n 从事件列表:
> 计划
1 月 4 日星期三 15:42 /usr/lib/uucp/uucico -r1 -sother
2 Wed Apr 4 17:00 set prompt=[%h] 5点以后; 回家: >
> 计划 -2
> 计划
1 月 4 日星期三 15:42 /usr/lib/uucp/uucico -r1 -sother
计划事件列表中的命令在第一个提示出现之前执行
在调度命令的时间之后打印。 有可能会错过
命令运行的确切时间,但逾期的命令将在
下一个提示。 在 shell 等待用户时到期的命令
输入立即执行。 然而,一个已经运行的正常运行
命令不会被中断,以便可以运行计划事件列表元素。
这种机制类似于,但不相同, at(1) 某些 Unix 上的命令
系统。 它的主要缺点是它可能无法准确地运行命令
指定时间。 它的主要优点是因为 附表: 直接从
shell,它可以访问 shell 变量和其他结构。 这提供了一个
根据一天中的时间改变工作环境的机制。
集
集 姓名 ...
集 姓名=字 ...
集 [-r] [-f|-l] 姓名=(词汇表) ... (+)
集 名称[索引]=字 ...
集 -r (+),
集 -r 姓名 ... (+)
集 -r 姓名=字 ... (+)
该命令的第一种形式打印所有 shell 变量的值。 变量
包含多个单词的打印为带括号的单词列表。 这
第二组 姓名 到空字符串。 第三形态套 姓名 到单身
字. 第四套 姓名 到单词列表中 词汇表. 在所有情况下
该值是命令和文件名扩展。 如果 -r 已指定,值已设置
只读。 如果 -f or -l 指定,只设置保持其顺序的唯一单词。
-f 更喜欢一个词的第一次出现,并且 -l 最后。 第五套
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 指数'的第一个组成部分 姓名 至 字; 该组件必须已经存在。 这
第六种形式只列出所有只读的 shell 变量的名称。 这
第七种形式 姓名 只读,无论它是否有值。 第八种形式
与第三种形式相同,但使 姓名 同时只读。
可以重复这些参数来设置和/或使多个变量只读
单个设置命令。 但是请注意,变量扩展对所有
在任何设置发生之前的参数。 另请注意,`=' 可以与两者相邻
姓名 和 字 或以空格与两者分开,但不能仅与
非此即彼。 另见 未设定 内置命令。
设定 [姓名 [折扣值]]
不带参数,打印所有环境变量的名称和值。
特定 姓名, 设置环境变量 姓名 至 折扣值 或者,没有 折扣值,到了
空字符串。
设置路径 径 (+),
相当于 设置路径(1). (仅马赫)
设置路径 本地|网站|CPU ... (+)
设置系统执行路径。 (仅限 TCF)
设置 帽 折扣值 (+),
告诉 shell 相信终端能力 帽 (如定义
期限上限(5)) 有值 折扣值. 没有进行健全性检查。 概念终端
用户可能需要“setc xn no”才能在最右边的列中正确换行。
塞蒂 [-d|-q|-x[-a] [[+|-]模式] (+)
控制哪些 tty 模式(请参阅 终端 管理) 外壳不允许
改变。 -d, -q or -x 告诉 塞蒂 对“编辑”、“引用”或“执行”集进行操作
分别是tty模式; 没有 -d, -q or -x, 使用“执行”。
没有其他论据, 塞蒂 列出所选集合中固定的模式
打开(`+mode')或关闭(`-mode')。 可用模式以及显示内容各不相同
从系统到系统。 和 -a, 列出所选集合中的所有 tty 模式,无论是
不是他们是固定的。 和 +模式, -模式 or 模式,修复 模式 打开或关闭或删除
从控制 模式 在选择的集合中。 例如,`setty +echok echoe' 修复
“回声”模式并允许命令打开或关闭“回声”模式,当
shell 正在执行命令。
设置交换器 [绳子] (+)
将实验版本前缀设置为 绳子, 或者删除它,如果 绳子 被省略。
(仅限 TCF)
转移 [变量]
没有参数,丢弃 精液[1] 并转移成员 精液 到左边。
这是一个错误 精液 不被设置或少于一个字作为值。
通过 变量, 执行相同的功能 变量.
资源 [-h] 姓名 [ARGS ...]
shell 读取并执行来自 姓名. 命令没有放在
历史列表。 如果有的话 ARGS 被给予,它们被放置在 精液。 (+) 资源
命令可以嵌套; 如果它们嵌套太深,外壳可能会耗尽
文件描述符。 一个错误 资源 在任何级别终止所有嵌套 资源
命令。 和 -h, 命令被放置在历史列表中而不是被
执行,很像`history -L'。
停止 %工作|PID ...
停止在后台执行的指定作业或进程。 工作
可以是数字、字符串、`'、`%'、`+' 或 `-',如下所述 工作机会。 有
没有默认 工作; 只说“停止”并不会停止当前的工作。
暂停 使外壳停止在它的轨道上,就像它被发送了一个停止信号一样
- ^Z. 这最常用于停止由以下人员启动的 shell su(1)。
开关 (绳子)
案件 str1:
...
断断续续
...
默认情况下:
...
断断续续
收尾 每个案例标签连续匹配,针对指定的 绳子 这是
展开的第一个命令和文件名。 文件元字符‘*’、‘?’ 和`[...]'
可用于变量扩展的 case 标签。 如果没有
在找到“默认”标签之前标签匹配,然后在之后开始执行
默认标签。 每个案例标签和默认标签必须出现在
一行的开头。 命令 断断续续 导致执行在
收尾. 否则控制可能会像 C 一样通过 case 标签和默认标签。
如果没有标签匹配并且没有默认值,则在 收尾.
告诉 (+),
列出所有终端功能的值(请参阅 期限上限(5))。
术语名称 [终端 类型] (+)
测试是否 终端 类型 (或当前值 学期 如果不 终端 类型 给出)
在主机中有一个条目 期限上限(5)或 术语信息(5) 数据库。 打印终端
输入到标准输出,如果存在条目则返回 0,否则返回 1。
次 [命令]
执行 命令 (它必须是一个简单的命令,而不是别名、管道、
命令列表或带括号的命令列表)并打印时间摘要为
下描述 次 多变的。 如有必要,会创建一个额外的 shell
命令完成时打印时间统计信息。 没有 命令, 打印一个
当前 shell 及其子级的时间摘要。
遮罩 [折扣值]
将文件创建掩码设置为 折扣值,以八进制给出。 通用值
掩码为 002,授予对组的所有访问权限以及对组的读取和执行访问权限
其他和 022,授予对组和其他人的读取和执行访问权限。 没有
折扣值, 打印当前文件创建掩码。
无别名 模式
删除名称匹配的所有别名 模式. `unalias *' 因此删除所有
别名。 一无所有不是错误 无别名编辑。
不完整的 模式 (+),
删除名称匹配的所有完成 模式. `uncomplete *' 因此删除
所有的完成。 一无所有不是错误 不完整的d.
散列 禁止使用内部哈希表来加速执行程序的定位。
宇宙 宇宙 (+),
将宇宙设置为 宇宙. (仅限 Masscomp/RTU)
无限制 [-高频[资源]
取消限制 资源 或者,如果没有 资源 被指定,所有 资源
限制。 和 -h,相应的硬限制被删除。 只有超级
用户可以这样做。 注意 无限制 可能不会成功退出,因为大多数系统
不允许 描述符 是无限的。 和 -f 错误被忽略。
未设定 模式
删除名称匹配的所有变量 模式, 除非它们是只读的。
`unset *' 因此删除所有变量,除非它们是只读的; 这是一个坏
主意。 一无所有不是错误 未设定.
未设置环境 模式
删除名称匹配的所有环境变量 模式. `unsetenv *' 因此
删除所有环境变量; 这是一个坏主意。 这不是错误
没什么可做的 未设置环境编辑。
版本 [系统类型 [命令]] (+)
没有参数,打印 系统类型。 同 系统类型, 套 系统类型 至 系统类型。 同
系统类型 和 命令, 执行 命令 下 系统类型. 系统类型 可能是‘bsd4.3’或
'sys5.3'。 (仅限域/操作系统)
等待 shell 等待所有后台作业。 如果 shell 是交互式的,一个
中断将中断等待并导致外壳打印名称和作业
所有未完成工作的数量。
经 宇宙 (+),
将宇宙设置为 宇宙. (仅限凸面/操作系统)
监视日志 (+),
的替代名称 日志 内置命令 (qv)。 仅当外壳可用
是这样编的; 见 版本 外壳变量。
协调 命令 (+),
报告所有已知的实例 命令,包括别名、内置函数和
可执行文件 径.
这 命令 (+),
显示替换后将由 shell 执行的命令, 径
搜索等。内置命令就像 这(1),但它正确
报告 tcsh的 别名和内置函数,速度提高 10 到 100 倍。 另见
哪个命令 编辑器命令。
而 (表达式)
...
end 执行命令之间的 而 和匹配 end 而 表达式 (一个
表达式,如下所述 表达式) 计算非零值。 而 和 end
必须单独出现在他们的输入行上。 打破 和 继续 可能习惯于
提前终止或继续循环。 如果输入是终端,则用户
第一次通过循环提示 的foreach.
Special 别名 (+),
如果设置,这些别名中的每一个都会在指定的时间自动执行。 他们都是
最初未定义。
蜂鸣命令 当 shell 想要敲响终端铃声时运行。
cwd命令 在每次更改工作目录后运行。 例如,如果用户正在工作
在 X 窗口系统上使用 xterm的(1) 和重新养育窗口管理器
支持标题栏,如 水牛(1) 并且
> 别名 cwdcmd 'echo -n "^[]2;${HOST}:$cwd ^G"'
然后shell将更改运行的标题 xterm的(1) 是名称
主机、冒号和完整的当前工作目录。 一种更高级的方式来做到这一点
is
> 别名 cwdcmd 'echo -n "^[]2;${HOST}:$cwd^G^[]1;${HOST}^G"'
这会将主机名和工作目录放在标题栏上,但只有
图标管理器菜单中的主机名。
请注意,放置一个 cd, PUSHD or 波普德 in cwd命令 可能会导致无限循环。 这是
作者认为任何人这样做都会得到他们应得的。
作业命令 在执行每个命令之前或在命令更改状态时运行。 这个
类似于 后置命令,但它不打印内置函数。
> 别名 jobcmd 'echo -n "^[]2\;\!#:q^G"'
然后执行 vi foo.c 将命令字符串放在 xterm 标题栏中。
帮助命令
由调用 运行帮助 编辑器命令。 寻求帮助的命令名称
作为唯一参数传递。 例如,如果一个人
> 别名帮助命令 '\!:1 --help'
然后将使用 GNU 帮助调用命令本身的帮助显示
调用约定。 目前没有简单的方法来解释各种调用
约定(例如,习惯的 Unix `-h'),除非使用包含许多
命令。
定期
运行每 时间 分钟。 这提供了一种方便的方法来检查
常见但不频繁的更改,例如新邮件。 例如,如果一个人
> 设置 tperiod = 30
> 别名定期检查新闻
那么 查看新闻(1)程序每30分钟运行一次。 如果 定期 已设置但
时间 未设置或设置为 0, 定期 表现得像 预命令.
预命令 在打印每个提示之前运行。 例如,如果一个人
> 别名 precmd 日期
然后 日期(1) 在 shell 提示每个命令之前运行。 没有
限制什么 预命令 可以设置做,但要谨慎使用。
后置命令 在执行每个命令之前运行。
> 别名 postcmd 'echo -n "^[]2\;\!#:q^G"'
然后执行 vi foo.c 将命令字符串放在 xterm 标题栏中。
壳 为自身未指定的可执行脚本指定解释器
口译员。 第一个词应该是所需的完整路径名
解释器(例如,`/bin/csh' 或 `/usr/local/bin/tcsh')。
Special 壳 变量
本节中描述的变量对 shell 具有特殊意义。
壳套 添加后缀, 精液, 自动退出, 物质, 命令, 回声风格, 编辑, GID,
组, 主页, 登录, 听到, 径, 提示, 提示2, 提示3, 壳, 小黄人, tcsh的, 术语, TTY,
的uid, 用户 和 版本 在启动时; 除非被更改,否则此后不会更改
用户。 外壳更新 电脑, 目录栈, 欠 和 状态 必要时,并设置 注销 on
登出。
外壳同步 组, 主页, 径, 小黄人, 术语 和 用户 与环境
同名变量:只要环境变量改变,shell 就会改变
要匹配的相应 shell 变量(除非 shell 变量是只读的)和
反之亦然。 请注意,虽然 电脑 和 PWD 具有相同的含义,它们不是
以这种方式同步,并且外壳会自动相互转换不同的
格式 径 和 PATH.
添加后缀 (+),
如果设置,文件名补全会在目录末尾添加“/”,并在目录末尾添加一个空格
正常文件完全匹配时的结尾。 默认设置。
用户 (+),
如果设置, 自动退出的自动锁定功能使用其值而不是本地用户名
用于 kerberos 身份验证。
上午下午 (+),
如果设置,所有时间都以 12 小时 AM/PM 格式显示。
精液 外壳的参数。 位置参数取自 精液,即“$1”
替换为`$argv[1]'等。默认设置,但在交互中通常为空
贝壳。
自动更正 (+),
如果设置,则 拼字 在每次之前自动调用编辑器命令
完成尝试。
自动展开 (+),
如果设置,则 展开历史 在每次之前自动调用编辑器命令
完成尝试。 如果这设置为 只有历史,那么只有历史将是
展开,第二次完成将展开文件名。
自动列表 (+),
如果设置,则在模棱两可的完成后列出可能性。 如果设置为
`ambiguous',只有当没有添加新字符时才会列出可能性
完成。
自动退出 (+),
第一个词是自动注销前不活动的分钟数。
可选的第二个字是自动前的不活动分钟数
锁定。 当 shell 自动注销时,它会打印 `auto-logout',设置
变量 注销 到“自动”并退出。 当外壳自动锁定时,
用户需要输入密码才能继续工作。 五不正确
尝试导致自动注销。 设置为“60”(60 后自动注销
分钟,并且没有锁定)默认情况下在登录和超级用户 shell 中,但如果
shell 认为它是在窗口系统下运行的(即 显示屏玻璃制造 环境
变量被设置),tty 是一个伪 tty (pty) 或者 shell 不是这样编译的
(见 版本 壳变量)。 另见 用户 和 注销 壳
变量。
自动重新哈希 (+),
如果设置,则为目录中内容的内部哈希表 径
如果在哈希表中找不到命令,将重新计算变量。 在
此外,将为每个命令重建可用命令列表
如果设置为“完成”或“正确”,则完成或拼写更正尝试
分别; 如果设置为“always”,这将在两种情况下完成。
反斜杠_引用 (+),
如果设置,反斜杠 (`\') 总是引用 `\'、`'' 和 `"'。这可能会使复杂
引用任务更容易,但它可能会导致语法错误 长山壕(1) 脚本。
检索目录 消息目录的文件名。 如果设置,tcsh 使用 `tcsh.${catalog}' 作为
消息目录而不是默认的“tcsh”。
路径 目录列表,其中 cd 如果不是,则应该搜索子目录
在当前目录中找到。
颜色 如果设置,它将启用内置的颜色显示 ls-f 它通过了 --颜色=自动
至 ls. 或者,它可以设置为仅 ls-f 或仅 ls 启用颜色
只有一个命令。 将其设置为空相当于将其设置为 (LS-F LS).
彩猫
如果设置,它将为 NLS 消息文件启用颜色转义序列。 并显示
丰富多彩的 NLS 消息。
命令 (+),
如果设置,则传递给 shell 的命令 -c 标志 (qv)。
兼容表达式 (+),
如果设置,shell 将从右到左计算表达式,就像原来的一样 长山壕.
完成 (+),
如果设置为“igncase”,则完成变得不区分大小写。 如果设置为
`enhance',完成忽略大小写并认为连字符和下划线是
相等的; 它还将处理句点、连字符和下划线(`.'、`-' 和 `_')
作为单词分隔符。 如果设置为“Enhance”,则完成匹配大写和
显式下划线字符并匹配大小写中的小写和连字符 -
麻木不仁的态度; 它将句号、连字符和下划线视为单词
分隔符。
继续 (+),
如果设置为命令列表,shell 将继续列出的命令,而不是
开始一个新的。
继续参数 (+),
与 continue 相同,但 shell 将执行:
echo `pwd` $argv > 〜/。_暂停; %
正确 (+),
如果设置为“cmd”,命令会自动进行拼写更正。 如果设置为
`完成',命令自动完成。 如果设置为“all”,则整个
命令行已更正。
物质 (+),
如果设置,命令替换中的换行符和回车符将替换为
空间。 默认设置。
电脑 当前目录的完整路径名。 另见 目录栈 和 欠 壳
变量。
提取物 (+),
如果设置,`pushd +n' 提取 n目录堆栈中的第 th 个目录,而不是
将其旋转到顶部。
目录文件 (+),
`dirs -S' 和 `dirs -L' 查找历史文件的默认位置。 如果
未设置, 〜/.cshdirs 用来。 因为只有 〜/.tcshrc 通常来源之前
〜/.cshdirs, 目录文件 应该设置在 〜/.tcshrc 而非 ~/.登录.
目录栈 (+),
目录堆栈上所有目录的数组。 `$dirstack[1]' 是
当前工作目录,`$dirstack[2]' 栈上的第一个目录,等等。
注意当前工作目录是`$dirstack[1]'但是目录中的`=0'
堆栈替换等。 可以通过设置任意更改堆栈
目录栈,但第一个元素(当前工作目录)总是正确的。
另见 电脑 和 欠 外壳变量。
双字节 (+),
如果 'dspm' 被列为 版本 外壳变量。 如果设置
到`euc',它可以显示和编辑EUC-kanji(日语)代码。 如果设置为
`sjis',它可以显示和编辑 Shift-JIS(日语)代码。 如果设置为
`big5',可以显示和编辑Big5(中文)代码。 如果设置为`utf8',它
允许显示和编辑 Utf8(Unicode) 代码。 如果设置为以下格式,
它可以显示和编辑原始多字节代码格式:
> 设置 dspmbyte = 0000....(256 字节)....0000
该表需要 只是 256 字节。 每个字符256个字符对应
(从左到右)到 ASCII 代码 0x00、0x01、... 0xff。 每个字符都是
设置为数字 0,1,2、3、XNUMX 和 XNUMX。每个数字的含义如下:
0 ... 不用于多字节字符。
1 ... 用于多字节字符的第一个字节。
2 ... 用于多字节字符的第二个字节。
3 ... 用于多字节字符的第一个字节和第二个字节。
计费示例:
如果设置为‘001322’,则第一个字符(表示 ASCII 码的 0x00)和第二个字符
字符(表示 ASCII 码的 0x01)被设置为‘0’。 那么,它不用于
多字节字符。 第 3 个字符 (0x02) 设置为 '1',表示它
用于多字节字符的第一个字节。 第四届 字符(0x03) 是
设置'3'。 它用于多字节的第一个字节和第二个字节
特点。 第5和第6个字符(0x04,0x05)设置为'2',表示
它们用于多字节字符的第二个字节。
ls 的 GNU fileutils 版本无法在没有 -N 的情况下显示多字节文件名
( --literal ) 选项。 如果你使用这个版本,设置第二个字
dspmbyte 到“ls”。 如果没有,例如“ls -F -l”不能显示多字节
文件名。
请注意:
只有在编译时定义了 KANJI 和 DSPMBYTE 时才能使用此变量
时间。
杜尼克 (+),
如果设置, PUSHD 删除任何实例 姓名 在将其推入之前从堆栈中
堆栈。
回音 如果设置,每个命令及其参数在执行前会被回显。 为了
非内置命令所有扩展都发生在回显之前。 内置命令是
在命令和文件名替换之前回显,因为这些替换是
然后有选择地完成。 由 -x 命令行选项。
回声风格 (+),
的风格 回音 内置。 可以设置为
bsd 如果第一个参数是 `-n',不要回显换行符。
sysv 识别回显字符串中的反斜杠转义序列。
两者都识别'-n'标志和反斜杠转义序列; 这
默认。
无 两者都不认识。
默认设置为本地系统默认值。 BSD 和 System V 选项是
在中描述 回音(1) 相应系统上的手册页。
编辑 (+),
如果设置,则使用命令行编辑器。 在交互式 shell 中默认设置。
省略 (+),
如果设置,`%c'/`%.' 和“%C”提示序列(参见 提示 外壳变量)
用省略号 (`...') 代替`/ 表示跳过的目录'。
乌伊德 (+),
用户的有效用户 ID。
用户 (+),
与有效用户 ID 对应的第一个匹配 passwd 条目名称。
忽略 (+),
列出完成时要忽略的文件名后缀。
文件 In tcsh的, 始终使用完成,默认情况下忽略此变量。 如果
编辑 未设置,那么传统的 长山壕 使用完成。 如果设置在 长山壕,
使用文件名完成。
GID (+) 用户的真实组 ID。
全局点 (+),
如果设置,通配符 glob 模式将匹配以
'.' 除了“.” 和'..'
环球之星 (+),
如果设置,`**' 和 `***' 文件 glob 模式将匹配任何字符串
包括“/”遍历任何现有的子目录。 (例如,`ls **.c' 将列出
当前目录树中的所有 .c 文件)。 如果单独使用,它会匹配
匹配零个或多个子目录(例如`ls /usr/包括/**/time.h' 将列出任何
名为“time.h”的文件在 / usr / include 目录树; 而`ls
/usr/包括/**time.h' 将匹配 / usr / include 目录树
以‘time.h’结尾)。 为了防止递归问题,`**' glob-pattern
不会下降到包含目录的符号链接。 要覆盖这一点,
使用‘***’
组 (+),
用户的组名。
突出
如果设置,增量搜索匹配(在 我搜索回来 和 i-搜索-转发)和
标记和光标之间的区域以反向视频突出显示。
突出显示需要更频繁的终端写入,这会引入额外的
高架。 如果你关心终端性能,你可能想要离开这个
未设置。
历史字符
确定在 发展历程 代换 (qv)。
其值的第一个字符用作历史替换字符,
替换默认字符“!”。 其值的第二个字符替换
快速替换中的字符“^”。
历史记录 (+),
控制对历史列表中重复条目的处理。 如果仅设置为“全部”
独特的历史事件被输入到历史列表中。 如果设置为“prev”并且
最后一个历史事件与当前命令相同,则当前命令为
没有载入史册。 如果设置为“擦除”并且在
历史列表,旧事件被删除,当前事件被插入。 笔记
`prev' 和 `all' 选项重新编号历史事件,因此没有间隙。
历史文件 (+),
“history -S”和“history -L”查找历史的默认位置
文件。 如果未设置, ~/.历史 用来。 历史文件 共享相同时很有用
不同机器之间的主目录,或者在不同的机器上保存单独的历史记录时
不同的终端。 因为只有 〜/.tcshrc 通常来源之前
~/.历史, 历史文件 应该设置在 〜/.tcshrc 而非 ~/.登录.
历史 (+),
如果设置,内置和编辑器命令以及 救世主 机制使用文字
(未扩展的)历史列表中的行形式。 另见 切换-文字-
历史 编辑器命令。
历史 第一个字表示要保存的历史事件数。 可选的
第二个字 (+) 表示打印历史的格式; 如果没有给出,
使用了`%h\t%T\t%R\n'。 格式序列如下所述 提示;
注意'%R' 的变量含义。 默认设置为“100”。
主页 初始化到调用者的主目录。 ` 的文件名扩展~'
指这个变量。
忽略
如果设置为空字符串或‘0’并且输入设备是终端,则 结束-
文件 命令(通常由用户通过在空行上键入“^D”生成)
导致外壳打印“使用“退出”离开 tcsh。 而不是退出。 这个
防止外壳被意外杀死。 历史上这个设定
在 26 个连续的 EOF 之后退出以避免无限循环。 如果设置为数字 n,
外壳忽略 n - 1 连续 文件结束s 和出口 n日。 (+) 如果
未设置,使用'1',即shell 在单个'^D' 上退出。
隐含的cd (+),
如果设置,shell 会将输入的目录名称视为命令,就好像它是一个
请求更改到该目录。 如果设置为 详细, 目录的变化
被回显到标准输出。 这种行为在非交互式中被禁止
shell 脚本,或用于包含多个单词的命令字符串。 更改目录
优先于执行同名命令,但在别名之后执行
替代品。 波浪号和变量扩展按预期工作。
输入模式 (+),
如果设置为“插入”或“覆盖”,则将编辑器置于该输入模式
每行的开头。
杀戮 (+),
控制终止环中重复条目的处理。 如果仅设置为“全部”
在终止环中输入了唯一的字符串。 如果设置为`prev'并且最后被杀死
字符串与当前杀死的字符串相同,则当前字符串不是
进入了戒指。 如果设置为`erase'并且在kill中找到相同的字符串
环,旧的字符串被删除并插入当前的字符串。
杀戮 (+),
指示要保留在内存中的已终止字符串的数量。 默认设置为“30”。
如果未设置或设置为小于“2”,shell 将只保留最近的
被杀死的字符串。 字符串被删除的编辑器命令放入killring
(杀死)文本字符串,例如 向后删除词, 杀线等,以及
复制区域即杀 命令。 的 猛拉 编辑器命令将拉取最近的
在命令行中杀死字符串,而 砰砰声 (见 编者 命令) 可
用于猛拉较早被杀死的字符串。
列表标志 (+),
如果设置为“x”、“a”或“A”,或它们的任意组合(例如,“xA”),它们将被使用
作为标志 ls-f, 使其像 `ls -xF'、`ls -Fa'、`ls -FA' 或组合
(例如,`ls -FxA'):`a' 显示所有文件(即使它们以`.' 开头),`A' 显示
除“.”外的所有文件和`..',和`x' 排序而不是向下排序。 如果第二个
的话 列表标志 被设置,它被用作`的路径ls(1)”。
列出工作 (+),
如果设置,则在作业暂停时列出所有作业。 如果设置为“long”,则
列表是长格式的。
列表链接 (+),
如果设置,则 ls-f 内置命令显示每个符号的文件类型
链接点。
最大列表 (+),
最大项目数 列表选择 编辑器命令将列出
不先问。
列表最大行数 (+),
项目的最大行数 列表选择 编辑器命令将
先不问就列出来。
登录 (+),
如果是登录 shell,则由 shell 设置。 在 shell 中设置或取消设置它
没有效果。 也可以看看 小黄人.
注销 (+),
在正常注销之前由外壳设置为“正常”,在退出之前设置为“自动”
自动注销,如果 shell 被挂断信号杀死,则“挂断”(参见
信号 处理)。 另见 自动退出 外壳变量。
mail 用于检查传入邮件的文件和目录列表,可选地以
一个数字词。 在每次提示之前,如果距离上次提示已经过去了 10 分钟
检查,外壳检查每个文件并说“您有新邮件”。 (或者如果 mail
包含多个文件,`您有新邮件 姓名.') 如果文件大小更大
大小大于零并且修改时间大于其访问时间。
如果您在登录 shell 中,则不会报告邮件文件,除非它已
在 shell 启动后修改,以防止冗余
通知。 大多数登录程序会告诉您是否有邮件
当您登录时。
如果指定的文件 mail 是一个目录,shell 将计算其中的每个文件
该目录作为单独的消息,并会报告`你有 n 邮件。 或`你
它们在许多情况下都能提供类似的结果。 n 邮寄 姓名.' 作为适当的。 此功能主要提供
对于以这种方式存储邮件的系统,例如 Andrew Mail System。
如果第一个字 mail 是数字它被视为不同的邮件检查
间隔,以秒为单位。
在极少数情况下,shell 可能会报告“您有邮件”。 代替
“你有新邮件。”
比赛哔哔声 (+),
如果设置为“从不”,则完成永远不会发出哔哔声。 如果设置为“nomatch”,它只会发出哔哔声
当没有匹配时。 如果设置为 `ambiguous',当有多个时它会发出哔哔声
火柴。 如果设置为“notunique”,当有一个精确的和另一个更长的时候它会发出哔哔声
火柴。 如果未设置,则使用“模糊”。
没有哔哔声 (+),
如果设置,则完全禁用蜂鸣声。 也可以看看 可见铃.
无声无息
如果设置,则限制输出重定向以确保文件不被
意外破坏,并且“>>”重定向指的是现有文件,如
在中描述 输入输出 部分。
点头 如果设置,则禁用“DING!”的打印在里面 提示 时间说明符在
小时的变化。
无球 如果设置, 文件名 代换 和 目录 堆 代换 (qv) 是
抑制。 这在不处理文件名的 shell 脚本中最有用,
或者在获得文件名列表并且没有进一步扩展之后
理想的。
能看寺 (+),
如果设置并且外壳支持汉字(请参阅 版本 壳变量),它是
禁用以便可以使用元键。
不匹配
如果设置,一个 文件名 代换 or 目录 堆 代换 (qv) 这样做
不匹配任何现有文件保持不变,而不是导致错误。 它
仍然是格式错误的替换错误,例如,`echo [' 仍然给出
一个错误。
无统计 (+),
目录列表(或匹配目录的全局模式;见 文件名
代换) 那不应该 统计(2) 在完成操作期间进行。 这是
通常用于排除需要太多时间的目录 统计(2),用于
例子 /AFS.
通知 如果设置,shell 会异步宣布作业完成。 默认为
在打印提示之前显示作业完成。
听到 (+) 用户的真实组织 ID。 (仅限域/操作系统)
欠 (+) 旧的工作目录,相当于 cd 和 PUSHD要了解在年少时习得第二语言的各种好处的完整摘要,请参考:
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 电脑 和 目录栈 外壳变量。
小时 如果设置,则启用以 0 和 24 小时格式打印小时的填充“12”。
例如:07:45:42 与 7:45:42。
次八角
为了与旧版本的数字变量保持兼容,从 0 开始是
不解释为八进制。 设置此变量可启用正确的八进制解析。
径 在其中查找可执行命令的目录列表。 一个空字
指定当前目录。 如果没有 径 变量然后只有完整路径
名称将执行。 径 由 shell 在启动时从 PATH 环境
变量,或者,如果 PATH 不存在,对于系统相关的默认值,例如
`(在/ usr / local / bin目录 /usr/bsd /箱 / usr / bin .)'。 外壳可能会放“.” 第一次或最后一次
in 径 或者完全忽略它,这取决于它是如何编译的; 见 版本
外壳变量。 一个既没有给出 -c 也不是 -t 选项哈希
目录中的内容 径 看完之后 〜/.tcshrc 并且每次 径
被重置。 如果将新命令添加到目录中 径 而外壳是
活跃,一个人可能需要做一个 重新哈希 让 shell 找到它。
打印出口值 (+),
如果设置并且交互式程序以非零状态退出,则外壳打印
`退出 状态'.
提示 在从终端读取每个命令之前打印的字符串。 提示
可能包括以下任何格式序列 (+),它们被替换为
给定的信息:
%/ 当前工作目录。
%~ 当前工作目录,但以一个人的主目录表示
`~' 和其他用户的主目录由 `~user' 表示 文件名
代换. `~user' 替换仅在 shell 已经使用时发生
`~用户' 在当前会话的路径名中。
%c[[0]n], %.[[0]n]
当前工作目录的尾随部分,或 n 尾随
如果是数字的组件 n 给出。 如果 n 以‘0’开头,跳过的次数
组件在格式中的尾随组件之前
`/跳过>尾随'。 如果 省略 shell 变量已设置,跳过
组件由省略号表示,因此整体变为“...尾随”。
`~' 替换是在上面的 `%~' 中完成的,但是 `~' 组件被忽略
在计算尾随分量时。
%C 与 %c 类似,但没有“~”替换。
%H, %!, !
当前历史事件编号。
%M 完整的主机名。
%m 直到第一个“.”的主机名。
%S(%s)
启动(停止)突出模式。
%B(%b)
开始(停止)粗体模式。
%U (%U)
开始(停止)下划线模式。
%t,%@
以 12 小时 AM/PM 格式表示的一天中的时间。
%T 类似于 `%t',但采用 24 小时格式(但请参阅 上午下午 壳变量)。
%p 以 12 小时 AM/PM 格式表示的“精确”时间,以秒为单位。
%P 类似于 `%p',但采用 24 小时格式(但请参阅 上午下午 壳变量)。
\c c 被解析为 绑定键.
^c c 被解析为 绑定键.
%% 单个“%”。
%n 用户名。
%N 有效用户名。
%j 作业数。
%d `Day' 格式的工作日。
%D `dd' 格式的日期。
%w `Mon' 格式的月份。
%W `mm' 格式的月份。
%y 'yy' 格式的年份。
%Y 'yyyy' 格式的年份。
%l shell 的 tty。
%L 清除从提示结束到显示结束或结束
线。
%$ 在 `$' 后立即展开 shell 或环境变量名称。
%# `>'(或第一个字符 提示字符 外壳变量)正常
用户,`#'(或第二个字符 提示字符) 为超级用户。
%{绳子%}
包括 绳子 作为字面转义序列。 它应该只用于
更改终端属性,不应移动光标位置。 这个
不能是最后一个序列 提示.
%? 在提示之前执行的命令的返回码。
%R 输入 提示2,解析器的状态。 在 提示3,更正后的字符串。 在
历史, 历史字符串。
“%B”、“%S”、“%U”和“%{绳子%}' 仅在 XNUMX 位干净的 shell 中可用;
看到 版本 外壳变量。
粗体、突出和下划线序列通常用于区分
超级用户外壳。 例如,
> set prompt = "%m [%h] %B[%@]%b [%/] 你按铃了吗?"
啧 [37] [下午 2:54] [/usr/accts/sys] 你响了? _
如果使用了‘%t’、‘%@’、‘%T’、‘%p’或‘%P’,并且 点头 没有设置,然后打印
“叮!” 更改小时(即`:00' 分钟)而不是实际时间。
在交互式 shell 中默认设置为“%#”。
提示2 (+),
提示输入的字符串 而 和 的foreach 循环和行结束后
在“\”中。 可以使用相同的格式序列 提示 (qv); 注意
'%R' 的变量含义。 默认设置为`%R? ' 在交互式 shell 中。
提示3 (+),
确认自动拼写更正时提示的字符串。
可以使用相同的格式序列 提示 (qv); 注意变量
'%R' 的含义。 默认设置为`CORRECT>%R (y|n|e|a)? ' 在交互式
贝壳。
提示字符 (+),
如果设置(为两个字符的字符串),则“%#”格式序列在 提示
shell 变量替换为普通用户的第一个字符,并且
超级用户的第二个字符。
推到家 (+),
如果设置, PUSHD 没有参数做`pushd ~',就像 cd.
推无声 (+),
如果设置, PUSHD 和 波普德 不打印目录堆栈。
精确 (+),
如果设置,即使可能有更长的匹配,完成也会在完全匹配上完成。
仅识别可执行文件 (+),
如果设置,命令列表仅显示路径中可执行的文件。
慢。
星 (+),
如果设置,则在执行 `rm *' 之前会提示用户。
提示 (+),
要在屏幕右侧打印的字符串(在命令输入之后)
当左侧显示提示时。 它识别相同的格式
字符为 提示. 它会根据需要自动消失并重新出现,
确保命令输入不被遮挡,并且只有在出现提示时才会出现,
命令输入,它本身将放在第一行。 如果 编辑 没有设置,
然后 提示 将在提示符之后和命令输入之前打印。
保存者 (+),
如果设置,shell 会在退出前执行 `dirs -S'。 如果第一个单词设置为
数量,最多保存许多目录堆栈条目。
救世主
如果设置,shell 会在退出前执行“history -S”。 如果第一个单词设置为
number,最多保存多少行。 (数字必须小于或等于
至 历史.) 如果第二个单词设置为`merge',则合并历史列表
使用现有的历史文件而不是替换它(如果有)和
按时间戳排序,并保留最近的事件。 (+)
附表: (+),
其中的格式 附表: 内置命令打印预定事件; 如果不
给定,使用`%h\t%T\t%R\n'。 格式序列在上面的描述下
提示; 注意'%R' 的变量含义。
壳 shell所在的文件。 这用于分叉 shell 来解释
设置了执行位但系统不能执行的文件。
(见说明 内建 和 非内置 命令 执行.) 初始化
到外壳的(依赖于系统的)主页。
小黄人 (+),
嵌套壳的数量。 在登录 shell 中重置为 1。 也可以看看 登录.
状态 最后一个命令返回的状态,除非变量 任何错误 被设置,并且
管道中的任何错误或反引号扩展都将传播(这是
默认 长山壕 行为和当前 tcsh的 默认)。 如果它异常终止,
然后将 0200 添加到状态。 失败的内置命令返回退出状态
“1”,所有其他内置命令返回状态“0”。
符号链接 (+),
可以设置几个不同的值来控制符号链接(`symlink')
解析度:
如果设置为 `chase',则每当当前目录更改为目录时
包含一个符号链接,它被扩展为目录的真实名称以
链接指向的内容。 这不适用于用户的主目录; 这是
一个错误。
如果设置为 `ignore',shell 会尝试构造一个相对于
链接之前的当前目录。 这意味着 cd通过
一个符号链接,然后`cd ..'ing 返回一个到原始目录。 这个
仅影响内置命令和文件名补全。
如果设置为“expand”,shell 会尝试通过实际扩展来修复符号链接
看起来像路径名的参数。 这会影响任何命令,而不仅仅是
内置函数。 不幸的是,这不适用于难以识别的文件名,例如
作为嵌入在命令选项中的那些。 可以通过引用来阻止扩展。
虽然此设置通常最方便,但有时会产生误导和
当它无法识别应该是的论证时,有时会令人困惑
扩大了。 妥协是使用“忽略”并使用编辑器命令 标准化-
径 (默认绑定到 ^Xn)必要时。
一些例子是有序的。 首先,让我们设置一些播放目录:
> 光盘 / tmp目录
> mkdir 从 from/src 到
> ln -s 从/src 到/dst
这是行为 符号链接 未设置,
> cd /tmp/to/dst; 回声 $cwd
/tmp/到/dst
> cd ..; 回声 $cwd
/tmp/从
这是行为 符号链接 设置为“追逐”,
> cd /tmp/to/dst; 回声 $cwd
/tmp/来自/src
> cd ..; 回声 $cwd
/tmp/从
这是行为 符号链接 设置为“忽略”,
> cd /tmp/to/dst; 回声 $cwd
/tmp/到/dst
> cd ..; 回声 $cwd
/tmp/到
这是行为 符号链接 设置为“扩展”。
> cd /tmp/to/dst; 回声 $cwd
/tmp/到/dst
> cd ..; 回声 $cwd
/tmp/到
> cd /tmp/to/dst; 回声 $cwd
/tmp/到/dst
> cd ".."; 回声 $cwd
/tmp/从
> /斌/回声 ..
/tmp/到
> /斌/回声 “ ..”
..
请注意,`expand' 扩展 1) 的工作方式与内置函数的 `ignore' 类似 cd,2)
通过引用阻止,并且 3) 在文件名传递给非内置之前发生
命令。
tcsh的 (+),
格式为‘R.VV.PP’的shell版本号,其中‘R’是主要的
版本号,“VV”是当前版本,“PP”是补丁级别。
术语 终端类型。 通常设置在 ~/.登录 如下所述 创业公司 和
关闭.
次 如果设置为数字,则 次 内置 (qv) 在每次之后自动执行
命令花费的 CPU 秒数超过那么多。 如果还有第二个字
它用作输出的格式字符串 次 内置。 (u) 该
在格式字符串中可以使用以下序列:
%U 进程在用户模式下花费的时间,以 cpu 秒为单位。
%S 进程在内核模式下花费的时间(以 cpu 秒为单位)。
%E 已用(挂钟)时间(以秒为单位)。
%P CPU 百分比计算为 (%U + %S) / %E。
%W 进程被交换的次数。
%X 以千字节为单位使用的(共享)文本空间的平均数量。
%D 使用的(非共享)数据/堆栈空间的平均数量,以千字节为单位。
%K 使用的总空间 (%X + %D),以千字节为单位。
%M 进程在任何时候使用的最大内存,以千字节为单位。
%F 主要页面错误的数量(需要从磁盘获取页面)。
%R 次要页面错误的数量。
%I 输入操作的次数。
%O 输出操作的次数。
%r 接收到的套接字消息数。
%s 发送的套接字消息数。
%k 接收到的信号数。
%w 自愿上下文切换(等待)的次数。
%c 非自愿上下文切换的次数。
在没有 BSD 资源限制的系统上只支持前四个序列
职能。 默认时间格式为`%Uu %Ss %E %P %X+%Dk %I+%Oio %Fpf+%Ww'
支持资源使用报告的系统和“%Uu %Ss %E %P”的系统
不要。
在 Sequent 的 DYNIX/ptx 下,%X、%D、%K、%r 和 %s 不可用,但
以下附加序列是:
%Y 执行的系统调用次数。
%Z 按需填零的页数。
%i 内核增加进程驻留集大小的次数。
%d 进程的常驻集大小被内核减少的次数。
%l 执行的读取系统调用次数。
%m 执行的写入系统调用的次数。
%p 从原始磁盘设备读取的次数。
%q 写入原始磁盘设备的次数。
默认时间格式为`%Uu %Ss %E %P %I+%Oio %Fpf+%Ww'。 请注意,
在多处理器上,CPU 百分比可以高于 100%。
时间 (+),
两次执行之间的时间间隔(以分钟为单位) 定期 特殊别名。
TTY (+) tty 的名称,如果没有附加到一个,则为空。
的uid (+) 用户的真实用户 ID。
用户 用户的登录名。
详细 如果设置,则在历史替换后打印每个命令的单词
(如果有的话)。 由 -v 命令行选项。
版本 (+),
版本 ID 戳。 它包含 shell 的版本号(参见 tcsh的), 起源,
发布日期、供应商、操作系统和机器(请参阅 卖方, 操作系统类型 和
机器类型) 和在编译时设置的以逗号分隔的选项列表。
注意到在分发中默认设置的选项。
8b 外壳八位干净; 默认
7b 外壳不八位干净
宽外壳是多字节编码干净(如UTF-8)
nls 使用系统的NLS; 带有 NLS 的系统的默认值
lf 登录 shells 执行 /etc/csh.login 之前而不是之后 /etc/csh.cshrc
和 ~/.登录 之前而不是之后 〜/.tcshrc 和 ~/.历史.
dl`.' 最后放入 径 为了安全; 默认
nd`.' 被省略 径 为了安全
vi vi-style 编辑是默认的,而不是 emacs的
dtr 登录 shell 在退出时会丢弃 DTR
再见 再见 是同义词 注销 和 日志 是替代名称 监视日志
al 自动退出 已启用; 默认
kan Kanji 根据区域设置在适当的情况下使用,除非
能看寺 设置了 shell 变量
sm 系统的 分配(3) 使用
hb `#! ' 约定在执行 shell 脚本时被模拟
ng 的 新组 内置可用
rh shell 尝试设置 远程主机 环境变量
afs 如果本地,shell 会使用 kerberos 服务器验证您的密码
认证失败。 这 用户 shell 变量或 用户 环境
如果设置,变量将覆盖您的本地用户名。
管理员可以输入额外的字符串来表示本地的差异
版。
可见铃 (+),
如果设置,则使用屏幕闪光而不是可听铃声。 也可以看看 没有哔哔声.
看 (+),
用于监视登录和注销的用户/终端对列表。 如果任一用户
是“任何”所有终端都被给定的用户监视,反之亦然。 环境
看 '(any any)' 监视所有用户和终端。 例如,
set watch = (george ttyd1 任意控制台 $user 任意)
报告用户 `george' 在 ttyd1 上的活动,控制台上的任何用户,以及
自己(或侵入者)在任何终端上。
默认情况下每 10 分钟检查一次登录和注销,但是
看 可以设置为一个数字,每隔几分钟检查一次。 例如,
设置手表=(1任何任何)
每分钟报告一次任何登录/注销。 对于不耐烦的人, 日志 内建的
命令触发一个 看 随时报告。 报告所有当前登录(如
与 日志 内置)当 看 是第一套。
这个 谁 shell 变量控制格式 看 报告。
谁 (+) 格式字符串 看 消息。 以下序列被替换为
给定信息:
%n 登录/退出的用户名。
%a 观察到的动作,即“登录”、“注销”或“替换” 老用户 在'。
%l 用户登录/退出的终端 (tty)。
%M 远程主机的完整主机名,如果登录/注销来自“本地”
本地主机。
%m 远程主机的主机名,直到第一个“.”。 打印全名
如果是 IP 地址或 X Window 系统显示。
%M 和 %m 仅在将远程主机名存储在
/etc/utmp. 如果未设置,`%n 有来自 %m 的 %a %l。' 被使用,或者`%n 有%a %l。' 在
不存储远程主机名的系统。
字字符 (+),
被视为单词一部分的非字母数字字符列表
前言, 反向词 等,编辑器命令。 如果未设置,则使用 `*?_-.[]~='。
环境
用户 (+),
相当于 用户 外壳变量。
柱 终端中的列数。 看 终端 管理.
显示屏玻璃制造 由 X 窗口系统使用(请参阅 X(1))。 如果设置,则外壳不设置 自动退出
(qv)。
EDITOR 默认编辑器的路径名。 另见 VISUAL 环境变量和
这些因素包括原料奶的可用性以及达到必要粉末质量水平所需的工艺。 运行-fg-editor 编辑器命令。
公司 (+),
相当于 组 外壳变量。
主页 相当于 主页 外壳变量。
主办方 (+),
初始化为运行 shell 的机器的名称,如
由...决定 获取主机名(2)系统调用。
主机类型 (+),
初始化为运行 shell 的机器类型,如在
编译时间。 此变量已过时,将在未来版本中删除。
路径 (+),
以冒号分隔的目录列表,其中 运行帮助 编辑器命令看起来
用于命令文档。
朗 提供首选的字符环境。 看 本地人 语言 系统 支持.
LC_CTYPE
如果设置,则仅更改 ctype 字符处理。 看 本地人 语言 系统
支持.
线数 终端中的行数。 看 终端 管理.
LS_颜色
这个变量的格式让人想起 期限上限(5) 文件格式; 冒号-
形式为“的表达式的分隔列表”xx=字符串“,其中”xx“是两个——
字符变量名。 具有相关默认值的变量是:
no 0 普通(非文件名)文本
fi 0 普通文件
di 01;34 目录
ln 01;36 符号链接
pi 33 命名管道 (FIFO)
所以 01;35 套接字
做 01;35 门
bd 01;33 块设备
cd 01;32 字符设备
ex 01;32 可执行文件
mi (none) 缺少文件(默认为 fi)
或 (none) 孤立符号链接(默认为 ln)
lc ^[[ 左码
rc m 正确的代码
ec (none) 结束代码(代替 lc+no+rc)
您只需要包含要从默认值更改的变量。
文件名也可以根据文件扩展名着色。 这是指定的
,在 LS_颜色 使用语法的变量 “* ext = 字符串”. 例如,使用 ISO
6429 个代码,将您指定的所有 C 语言源文件涂成蓝色 “*.c=34”.
这将为所有以 .c 蓝色 (34) 色。
控制字符可以写成 C 风格的转义符号,或者
stty-like ^-表示法。 C 风格的符号添加 ^[ 为了逃脱, _ 为了正常
空格字符,和 ? 为删除。 除此之外 ^[ 转义字符可以是
用于覆盖的默认解释 ^[, ^, : 和 =.
每个文件将被写为 。 如果
代码未定义,序列 将被使用。 这是
一般使用起来比较方便,但不太通用。 左、右和结束代码
提供了这样你就不必一遍又一遍地键入公共部分
支持奇怪的终端; 您通常根本不需要更改它们,除非
您的终端不使用 ISO 6429 颜色序列,而是使用不同的系统。
如果您的终端确实使用 ISO 6429 颜色代码,您可以编写类型代码
(即,除 lc, rc和 ec 代码)从数字命令分隔开
分号。 最常用的命令是:
0 恢复默认颜色
1 更亮的颜色
4 用于带下划线的文本
5 用于闪烁文本
30 黑色前景
31 代表红色前景
32 为绿色前景
33 代表黄色(或棕色)前景
34 为蓝色前景
35 为紫色前景
36 代表青色前景
37 用于白色(或灰色)前景
40 为黑色背景
41为红色背景
42为绿色背景
43 代表黄色(或棕色)背景
44为蓝色背景
45为紫色背景
46为青色背景
47 表示白色(或灰色)背景
并非所有命令都适用于所有系统或显示设备。
一些终端程序无法正确识别默认结束代码。 我摔倒
执行目录列表后,文本会被着色,请尝试更改 没有 和 fi
从 0 到标准前景色和背景色的数字代码。
机器类型 (+),
在编译时确定的机器类型(微处理器类或机器模型)
时间。
诺宾 (+),
如果设置,可打印字符不会反弹到 自插入命令。 看 本地人
语言 系统 支持.
操作系统类型 (+),
在编译时确定的操作系统。
PATH 在其中查找可执行文件的以冒号分隔的目录列表。
相当于 径 shell 变量,但格式不同。
PWD (+) 相当于 电脑 shell 变量,但不与其同步; 仅更新
在实际目录更改后。
远程主机 (+),
用户远程登录的主机,如果是这种情况,并且
shell 能够确定它。 仅当 shell 如此编译时才设置; 见
版本 外壳变量。
SLVL (+),
相当于 小黄人 外壳变量。
系统类型 (+),
当前系统类型。 (仅限域/操作系统)
学期 相当于 术语 外壳变量。
术语表 终端能力字符串。 看 终端 管理.
USER 相当于 用户 外壳变量。
卖方 (+),
供应商,在编译时确定。
VISUAL 默认全屏编辑器的路径名。 另见 EDITOR 环境
变量和 运行-fg-editor 编辑器命令。
使用 onworks.net 服务在线使用 tcsh
