Мы знаем &&
означает логическое AND
, так:логика корпуса AND, cmd1 && cmd2, она обратная, правда?
true && true => true
false && true => false
Когда мы работаем в Shell (Bash здесь), успешный вызов команды возвращает 0
. Изменяется ли оболочка 0
до non-zero
до AND
? Или Shell просто измените нормальный logics
?
В качестве примера:
cat file1 && cat file2
file2
будет cat-ed
только если file1
может быть cat-ed
.
Это может произойти следующим образом: 'if [-f file1] && [-f file2]; затем cat file1 && cat file2; fi' –