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