linux多个命令可以放在一行上,其执行情况得依赖于用在命令之间的分隔符。
如果每个命令被一个分号 (;) 所分隔,那么命令会连续的执行下去,如:
nick$ echo 111;echo 222; 111 222
如果每个命令被 && 号分隔,那么这些命令会一直执行下去,如果中间有错误的命令存在,则不再执行后面的命令,没错则执行到完为止:
nick$ echo 111 && wrong && echo 222 111 -bash: wrong: command not found 第一条成功,第二条失败后第三条没有执行
如果每个命令被双竖线(||)分隔符分隔,如果命令遇到可以成功执行的命令,那么命令停止执行,即使后面还有正确的命令则后面的所有命令都将得不到执行。假如命令一开始就执行失败,那么就会执行 || 后的下一个命令,直到遇到有可以成功执行的命令为止,假如所有的都失败,则所有这些失败的命令都会被尝试执行一次:
nick$ wrong || echo 111 || echo 222 -bash: wrong: command not found 111 第一条命令执行失败,第二条成功,第三条没有继续执行
转载请注明:MitNick » linux命令行中多个命令连续执行的方法