Я всегда использовал && но только видел, что кто-то использует ; ,
В чем разница? Когда я должен использовать ; или &&?

1 ответ1

4

Основное отличие состоит в том, что все команды разделены ; будет выполняться, тогда как когда команды разделены && последующая команда будет выполнена только в том случае, если предыдущая команда завершила работу с кодом возврата 0 .

Таким образом, когда вы говорите:

command1; command2; command3

оболочка выполняет command1 , затем command2 а когда последняя также завершает command3 .

С другой стороны,

command1 && command2 && command3

вызывает выполнение command1 . Если он успешен, то есть завершается с кодом возврата 0 , выполняется command2 . Аналогично, command3 выполняется, если предыдущая команда выполнена успешно.

Последняя конструкция полезна, когда вы хотите выполнить команды условно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .