在 shell 中,";" 和 "&&" 都是命令分隔符,用于分隔多个命令或操作。写脚本的时候,有时感觉能替代,但本着求实的精神,是需要知道它们的区别的。
";" 是顺序执行分隔符,表示执行前一个命令,然后立即执行下一个命令,无论前一个命令是否成功。例如:
command1 ; command2
这个命令将先执行 command1,然后立即执行 command2。
"&&" 是逻辑与操作符,它表示只有在前一个命令成功执行后才会执行下一个命令。例如:
command1 && command2
这个命令将首先执行 command1,如果成功执行(即返回退出状态码 0),则立即执行 command2。如果 command1 返回非零退出状态码,则 command2 不会被执行。
因此,在编写 shell 脚本时,使用 ";" 分隔符可以使多个命令按顺序执行,而 "&&" 分隔符可以使后续的命令只在前一个命令成功时才会被执行,这可以确保脚本在执行过程中正确处理错误。