命令执行顺序
使用&&:命令1 && 命令2 如果这个命令执行成功& &那么执行这个命令
例如:$ mv /apps/bin /apps/dev/bin && rm -r /apps/bin / a p p s / b i n目录将会被移到/ a p p s / d e v / b i n目录下,如果它没有被成功执行,就不会删除/ a p p s / b i n目录。
使用||:命令1 || 命令2 如果这个命令执行失败了|| 那么就执行这个命令
例如:$ comet month_end.txt || exit 首先对m o n t h _ e n d . t x t文件执行了一个名为c o m e t的s h e l l脚本,如果该脚本未执行成功,该s h e l l将结束。
用()和{ }将命令结合在一起:
(命令1;命令2;. . .) 在当前s h e l l中执行一组命令,可以用命令分隔符隔开每一个命令,并把所有的命令用圆括号()括起来。
{命令1;命令2;. . . } 相应的命令将在子s h e l l而不是当前s h e l l中作为一个整体被执行,只有在{ }中所有命令的输出作为一个整体被重定向时,其中的命令才被放到子s h e l l中执行,否则在当前s h e l l执行。
在编写s h e l l脚本时,使用& &和| |对构造判断语句非常有用。如果希望在前一个命令执行失败的情况不执行后面的命令,那么本章所讲述的方法非常简单有效。使用这样的方法,可以根据& &或| |前面命令的返回值来控制其后面命令的执行。