执行某个命令的时候,有时需要依赖于前一个命令是否执行成功。例如,假设你希望
将一个目录中的文件全部拷贝到另外一个目录中后,然后删除源目录中的全部文件
一、&& 命令
使用形式为:
命令1 && 命令2
命令1成功执行时,再执行命令2
$mv /apps/bin /apps/dev/bin && rm -r /apps/bin
将/apps/bin拷贝到/apps/dev/bin并删除/apps/bin
$sort file1.txt > file1_sorted.txt && echo "success"
对file1.txt排序并输出到file1_sorted.txt中,再打印出success
二、 || 命令
使用形式为:
命令1 || 命令2
命令1失败时,才执行命令2
三、用()和{ }将命令结合在一起
(命令1;命令2;命令3;……)
{命令1;命令2;命令3;……}
$sh test.sh ||(echo "failed";exit;shutdown)
执行test.sh脚本,如果失败了,就输出“failed”,然后退出脚本,最后关机
$sort file1.txt > file1_sorted.txt && (echo "success";cp file1_sorted.txt /tmp/log/file1_sorted.txt;exit)
对file1.txt排序并输出到file1_sorted.txt中,如果成功了,将file1_sorted.txt拷贝到/tmp/log中,最后退出