外壳允许您对命令执行连接和分组以有条件地执行。每个命令都返回一个退出码,该退出码确定操作是成功还是失败。如果是 0,则命令成功,任何其他值都表示特定于该命令的一个错误。
以下列表显示可以如何将命令分组:
命令 1 ; 命令 2
顺序地执行这些命令。不检查退出码。以下行使用 cat 显示文件的内容,然后使用 ls 打印其文件属性,而不考虑退出码:
cat filelist.txt ; ls -l filelist.txt
命令 1 && 命令 2
如果左侧命令成功,则运行右侧命令(逻辑运算符 AND)。仅当上一个命令成功时,以下行才显示文件的内容并打印其文件属性(将其与列表中的上一项相比较):
cat filelist.txt && ls -l filelist.txt
命令 1 || 命令 2
当左侧命令失败时运行右侧命令(逻辑运算符 OR)。以下行仅当在 /home/tux/foo 中创建目录失败时才会在 /home/wilber/bar 中创建目录:
mkdir /home/tux/foo || mkdir /home/wilber/bar
funcname(){ ... }
创建外壳函数。您可以使用定位参数访问其自变量。以下行定义用于打印短消息的函数 hello:
hello() { echo "Hello $1"; }您可以如下调用此函数:
hello Tux
它会打印:
Hello Tux