&&, || и ; в командной строке

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

Для этого можно использовать специальные символы &&, || и ;, которые позволят управлять последовательностью запуска команд. 

&& lets you do something based on whether the previous command completed successfully — that’s why you tend to see it chained as do_something && do_something_else_that_depended_on_something

&& will evaluate the second expression if the first expression returns 0. It’s good to remember that not all commands use return value to indicate success/failure — GNU diff, for example, returns 1 if two files differ and 0 if they don’t differ

Furthermore, you also have || which is the logical or, and also ; which is just a separator which doesn’t care what happend to the command before.

$ false || echo "Oops, fail"
Oops fail

$ true || echo "Will not be printed"
$  

$ true && echo "Things went well"
Things went well

$ false ; echo "This will always run"
This will always run

Some details about this can be found here Lists of Commands in the Bash Manual.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *