我一直在使用,&&
但刚刚看到有人使用;
。
有什么区别?我什么时候应该使用;
或&&
?
答案1
基本区别在于,所有以 分隔的命令;
都将被执行,而当命令以 分隔&&
时,仅当前一个命令以返回码退出时,才会执行后续命令0
。
因此,当你说:
command1; command2; command3
command1
然后command2
,当后者也完成时,shell 就会执行command3
。
另一方面,
command1 && command2 && command3
导致command1
执行。如果成功,即退出时返回代码为0
,则command2
执行。同样,command3
如果前一个命令执行成功,则执行。
当您想要有条件地执行命令时,后一种构造很有用。