ок.
Когда я пишу:
test && cmd
то если условие не выполнено, то возвращается false, что неверно (нет команды - нет проблемы).
А когда я пишу
test && cmd || true
то true возвращается, даже если cmd провалилась.
Когда я пишу
test || true && cmd
то cmd возвращается всегда.
Как сделать, чтобы возвращалось либо true, либо код возврата команды?
В баше нету такого понятия как возврат true. True - это команда которая отдает нулевой код выхода
if test; then cmd || true fi
Пишы ифами, не упирайся в однострочники если они сложные.
Спасибо за вариант. Такой код сработал: if test; then cmd; fi
а почему не использовать что-то такое pwd export_code=$? if [ "$export_code"="0" ] then echo 111 else echo 222 fi
Потому что это длиннее и сложнее?
Обсуждают сегодня