日期:2014-05-16  浏览次数:20551 次

Linux学习笔记(五)--控制shell执行的顺序

命令执行顺序

?

如果希望在成功地执行一个命令之后再执行另一个命令,或者在一个命令失败后再执行另一个命令,& &和| |可以完成这样的功能

?

?

使用&&

& &左边的命令(命令1)返回真(即返回0,成功被执行)后,& &右边的命令(命令2)才能够被执行;换句话说,“如果这个命令执行成功 & &那么执行这个命令” 。

?

比如

touch file && echo 'touch file success'

?

使用||

如果 | |左边的命令(命令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执行。它的一般形式为:

{命令1;命令2;. . . }