跳转到内容

Bourne Shell 脚本/附录 A:命令参考

来自维基教科书,开放的书籍,为开放的世界

Bourne Shell 提供大量内置命令,您可以在 shell 脚本中使用它们。下表概述了这些命令。

Bourne Shell 命令参考
命令 描述
: 一个空命令,返回 0(真)退出值。
. file 执行。指定文件中的命令被 shell 读取并执行。通常被称为“源代码”一个文件。
# 忽略所有文本,直到行尾。用于在 shell 脚本中创建注释。
#!shell 解释器提示。指示操作系统使用哪个解释器执行脚本。
bg [job] ... 在后台运行指定作业(如果没有给出参数,则运行当前作业)。
break [n] 退出循环。如果指定了一个数字参数,则退出 n 级循环。
case 请参阅 Bourne Shell 脚本/控制流
cd [directory] 切换到指定目录(默认值为 $HOME)。
continue [n] 跳过循环中剩余的命令,并在下次迭代时继续循环。如果指定了一个整数参数,则跳过 n 个循环。
echo string 将字符串写入标准输出。
eval string ... 将所有参数用空格连接起来。然后重新解析并执行命令。
exec [command arg ...] 在当前进程中执行命令。
exit [exitstatus] 终止 shell 进程。如果给出了 exitstatus,它将用作 shell 的退出状态;否则,将使用最后一个完成命令的退出状态。
export name ... 标记要导出到子进程环境的命名变量或函数。
fg [job] 将指定的作业(如果没有指定,则为当前作业)移到前台。
for 请参阅 Bourne Shell 脚本/控制流
hash -rv command ... shell 保持一个哈希表,用于记住命令的位置。如果没有参数,hash 命令将打印出此表的全部内容。自上次 cd 命令以来尚未查看的条目用星号标记;这些条目可能是无效的。

如果给出参数,hash 命令将从哈希表中删除指定的命令(除非它们是函数),然后找到它们。-r 选项会导致 hash 命令删除哈希表中的所有条目,除了函数。

if 请参阅 Bourne Shell 脚本/控制流
jobs 此命令列出当前 shell 进程的所有子进程。
-signal] PID ... 向 ID 列出的作业发送信号。如果未指定信号,则发送 SIGTERM。

如果使用 -l 选项,则列出系统上定义的所有信号名称。

newgrp [group] 暂时将您的用户移动到新的组。如果没有列出组,则移回用户的默认组。
pwd 打印工作目录。
read variable [...] 从输入读取一行,并将每个单独的单词分配给列出的变量(按顺序)。任何剩余的单词都将分配给最后一个变量。
readonly name ... 使列出的变量只读。
return [n] 从 shell 函数返回。如果指定了一个整数参数,它将是函数的退出状态。
set [{ -options | +options | -- }] arg ... set 命令执行三个不同的函数。

如果没有参数,它将列出所有 shell 变量的值。

如果给出选项,它将设置指定的选项标志或清除它们。

set 命令的第三种用法是将 shell 的位置参数的值设置为指定的 args。要更改位置参数而不更改任何选项,请将“--”用作 set 的第一个参数。如果没有 args,set 命令将清除所有位置参数(等效于执行“shift $#”。)

shift [n] 将位置参数向左移动 n 次。
test 请参阅 Bourne Shell 脚本/控制流
trap [action] signal ... 使 shell 在接收到任何指定的信号时解析并执行 action。
type [name ...] 显示命令是 UNIX 命令、shell 内置命令还是 shell 函数。
ulimit 报告或设置资源限制。
umask [mask] 设置 umask 的值(为新创建的文件分配的默认文件权限的掩码)。如果省略参数,则打印 umask 值。
unset name ... 删除 shell 中给定名称的定义。
wait [job] 等待指定的作业完成,并返回作业中最后一个进程的退出状态。如果省略参数,则等待所有作业完成,并返回退出状态 0。
while 请参阅 Bourne Shell 脚本/控制流


下一页: 附录 B:环境参考 | 上一页: 调试和信号处理
首页: Bourne Shell 脚本
华夏公益教科书