跳过导航链接 | |
退出打印视图 | |
手册页第 1 部分:用户命令 Oracle Solaris 11.1 Information Library (简体中文) |
- shell 命令解释程序内置命令
shell 命令解释程序 csh(1)、ksh(1)、ksh88(1) 和 sh(1) 具有特殊的内置命令。命令 case、for、foreach、function、if、repeat、select、switch、until 和 while 是可被 shell 识别的语法中的命令。这些命令在各自 shell 手册页中的 Commands 一节中进行了介绍。缺省情况下,在 ksh(1) 中,fc、hash、stop、suspend、times 和 type 为别名。
下表中列出的其余命令出于效率或在命令调用之间共享数据等原因而内置到 shell 中。这些命令在各自的手册页中进行了介绍。
|
允许对这些命令执行输入/输出重定向。文件描述符 1 是缺省输出位置。启用 "Job Control"(作业控制)后,将向 shell 的环境添加其他特殊命令。
除了这些内置保留命令字,sh 还使用:
无影响;命令不执行任何操作。返回零退出代码。
读取和执行 filename 中的命令并返回。PATH 指定的搜索路径用于查找包含 filename 的目录。
内置命令在 C shell 内执行。如果内置命令是流水线除最后一个组件之外的任意组件,则在子 shell 中执行该命令。除了这些内置保留命令字,csh 还使用:
空命令。此命令将被解释,但不执行任何操作。
允许输入/输出重定向。除非有指示,否则输出写在文件描述符 1 上,并且如果没有语法错误,退出状态为零。
前面有一个或两个 *(星号)的命令专门通过以下方式进行处理:
命令完成时,该命令前面的变量赋值列表仍然有效。
在变量赋值后进行 I/O 重定向。
脚本中包含的错误会导致其中止。
如果字的后面是前面加有 ** 的命令且字为变量赋值的格式,则使用与变量赋值相同的规则扩展这些字。这表示在 = 符号之后执行波浪号替换,并且不执行字拆分和文件名生成。
除了这些内置保留命令字,ksh88 还使用:
该命令仅扩展参数。
读取完整的 file,然后执行命令。在当前 shell 环境中执行命令。PATH 指定的搜索路径用于查找包含 file 的目录。如果指定了任何参数 arg,则它们将成为位置参数。否则,将不会更改位置参数。退出状态是最后执行的命令的退出状态。循环终止测试。
允许输入/输出重定向。除非有指示,否则输出写在文件描述符 1 上,并且如果没有语法错误,退出状态为零。
除了 :、true、false、echo、newgrp 和 login,所有内置命令均可用 -- 来表示选项结束。它们还将选项 --man 解释为要显示有关标准错误的手册页的请求,将 -? 解释为打印有关标准错误的使用消息的请求。
前面有一个或两个 + 的命令专门通过以下方式进行处理:
命令完成时,该命令前面的变量赋值列表仍然有效。
在变量赋值后进行 I/O 重定向。
脚本中包含的错误会导致其中止。
它们不是有效的函数名称。
如果字的后面是前面加有 ++ 的命令且字为变量赋值的格式,则使用与变量赋值相同的规则扩展这些字。这意味着将在 = 符号之后执行波浪号替换,并且不执行字段分割和文件名生成。
除了这些内置保留命令字,ksh 还使用:
该命令仅扩展参数。
如果 name 是使用函数 name 保留字语法定义的函数,则在当前环境中执行该函数(如同使用 name() 语法定义了该函数一样)。否则,如果 name 表示一个文件,则会读取整个文件并在当前的 shell 环境中执行命令。PATH 指定的搜索路径用于查找包含该文件的目录。如果指定了任何参数 arg,则在处理 . 命令时,这些参数将成为位置参数,并且原始位置参数会在完成后恢复。否则,位置参数保持不变。退出状态是最后执行的命令的退出状态。
Intro(1)、alias(1)、break(1)、builtin(1)、cd(1)、chmod(1)、csh(1)、disown(1)、echo(1)、exec(1)、exit(1)、find(1)、getoptcvt(1)、getopts(1)、glob(1)、hash(1)、history(1)、jobs(1)、kill(1)、ksh(1)、ksh88(1)、let(1)、limit(1)、login(1)、logout(1)、newgrp(1)、nice(1)、nohup(1)、print(1)、printf(1)、pwd(1)、read(1)、readonly(1)、set(1)、sh(1)、shift(1)、sleep(1)、suspend(1)、test(1)test(1)、test(1B)、time(1)、times(1)、trap(1)、typeset(1)、umask(1)、wait(1)、chdir(2)、chmod(2)、creat(2)、umask(2)、getopt(3C)、profile(4)、environ(5)