разница между & (амперсанд) и && (двойной амперсанд) при одновременном выполнении команд

Thank you for reading this post, don't forget to subscribe! 
Для одно­вре­мен­но­го запус­ка более одной коман­ды мы можем исполь­зо­вать спе­ци­аль­ный сим­вол & (ампер­санд).
Дру­гое исполь­зо­ва­ние & — это запуск команд в фоно­вом режиме.
В этом слу­чае, одна­ко, вы долж­ны исполь­зо­вать & один раз в кон­це коман­ды или скрип­та. Напри­мер:

Использование & (амперсанд) для одновременного запуска команд

Что­бы запу­стить 2 коман­ды одно­вре­мен­но, исполь­зуй­те спе­ци­аль­ный сим­вол & меж­ду дву­мя или более командами.

Син­так­сис:

Напри­мер, если вы хоти­те запу­стить 3 коман­ды «uname -a», «pwd» и «ls» одно­вре­мен­но, вы може­те использовать:

Вывод будет похож на что-то подобное:

При исполь­зо­ва­нии оди­ноч­но­го ампер­сан­да, даже если коман­да не выпол­ня­ет­ся, запус­ка­ют­ся сле­ду­ю­щие команды.

Использование && (двойной амперсанд) для одновременного запуска команд

Если вы хоти­те, что­бы вто­рое зада­ние / коман­да ожи­да­ло завер­ше­ния пер­во­го зада­ния / коман­ды, исполь­зуй­те сим­вол && меж­ду командами.

Таким обра­зом, если во вре­мя испол­не­ния в пер­вой коман­де про­изой­дет какая-либо ошиб­ка, она остановится.

Напри­мер:


При­мер вывода:

Давай­те попро­бу­ем исполь­зо­вать непра­виль­ную коман­ду и посмот­рим, будут ли выпол­не­ны сле­ду­ю­щие команды:

Как пока­за­но выше, послед­няя коман­да «date» не была выпол­не­на, т.к. перед ней коман­да не было выполнена.