1、命令:[命令1];[命令2],作用:多个命令顺序执行,命令之间没有任何逻辑联系。
2、命令:[命令1]&&[命令2],作用:多个命令顺序执行,当命令1正确执行时,命令2才会执行,否则,仅仅返回命令1的错误结果,且命令2不会执行。
例如:cp sql.txt sql.bak.txt && cat sql.bak.txt
如果复制成功,才显示所复制的内容。
3、命令:[命令1]||[命令2],作用:多个命令顺序执行,当命令1不正确执行时,返回命令1的错误结果,并执行命令2,否则命令2不会执行。
例如:awk '{print $1}' 1111.txt || cat facebook.txt
返回:
awk: cmd. line:1: fatal: cannot open file `1111.txt' for reading (No such file or directory)
google 110 5000
baidu 100 5000
guge 50 3000
前面的语句失败了,就执行后面的语句
awk '{print $1}' facebook.txt || cat facebook.txt
返回:
google
baidu
guge
如果前面的语句顺利执行,就不执行后面的语句
4、命令:[命令1]&&[命令2]||[命令3],作用:如果命令1正确执行,则执行命令2,命令3不执行,如果命令不正确执行,显示错误信息,并则执行命令3,命令2不执行。
例如:echo 'aaa' && echo ‘success' || echo 'failed'
返回:success 5、支持小括号,让命令的逻辑性更强。
例如:
lp facebook.txt.sorted ||(echo "It was not submitted succuessfully" | mail root;init 0) 打印facebook.txt文件失败就发邮件告知root用户,并关机
|