shell命令执行顺序控制(&&、||、()、{}用法)

shell脚本中,我们希望一些命令能按顺序执行,且根据前面命令的执行结果来后面的命令。我们可以用&&、||等符号完成上述功能。

&&符号作用

&&符号的使用形式:     命令1 && 命令2

& &左边的命令(命令1)返回真(即返回0,成功被执行) 后,& &右边的命令(命令 2)才能够被执行。

例:

自动化安装命令

./configure && make && make install

该命令会自动逐条执行命令,完成编译和安装过程。当前面的命令执行失败时,后面的命令会停止运行。

||符号作用

||符号的使用形式:     命令1 || 命令2

如果 | |左边的命令(命令 1)未执行成功,那么就执行 | |右边的命令 (命令2)

例:

./foo_start || exit

上述命令执行foo_start文件,如果执行失败,则退出shell。

()和{}符号作用

()和{}符号会将几条命令绑定在一起,作为一个整体执行。()在当前shell中执行一组命令,{}在子shell中执行一组命令。

()和{}符号的使用形式:     (命令1 ; 命令2 ; 命令3)    {命令1 ; 命令2 ; 命令3}

例:

./foo_start || (echo "foo_start fail"; exit)

foo_start执行失败后,会输出“foo_start fail”然后退出shell。

你可能感兴趣的:(shell)