Subj: Правильноли так использовать && и ||
Напишем скрипт.
#!/bin/sh
let 0 ; echo "let 0 = $?"
echo -n a\); let 0 && echo -n OKa! || echo -n ERRa!
echo
echo -n b\); let 0 || echo -n OKb! && echo -n ERRb!
echo
echo
let 1 ; echo "let 1 = $?"
echo -n a\); let 1 && echo -n OKa! || echo -n ERRa!
echo
echo -n b\); let 1 || echo -n OKb! && echo -n ERRb!
echo
Результат:
let 0 = 1
a)ERRa!
b)OKb!ERRb!
let 1 = 0
a)OKa!
b)ERRb!
Видим что вариант (b) работает неверно
команда1 || команда2 && команда3
Теперь интересует Ваше мнение.
Насколько корректна интерпритация конструкции (a)?
команда1 && команда2 || команда3
Если только команда1 вернула статус выхода ноль, то выполнится команда2, иначе выолнится команда3.
Для каких шеллов это верно?
ps. У меня bash.