Я всегда использовал &&
но только видел, что кто-то использует ;
,
В чем разница? Когда я должен использовать ;
или &&
?
1 ответ
Основное отличие состоит в том, что все команды разделены ;
будет выполняться, тогда как когда команды разделены &&
последующая команда будет выполнена только в том случае, если предыдущая команда завершила работу с кодом возврата 0
.
Таким образом, когда вы говорите:
command1; command2; command3
оболочка выполняет command1
, затем command2
а когда последняя также завершает command3
.
С другой стороны,
command1 && command2 && command3
вызывает выполнение command1
. Если он успешен, то есть завершается с кодом возврата 0
, выполняется command2
. Аналогично, command3
выполняется, если предыдущая команда выполнена успешно.
Последняя конструкция полезна, когда вы хотите выполнить команды условно.