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

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

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

&& 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.

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

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