Прежде всего, я не профессионал Bash. Несколько месяцев назад я обнаружил, что если я использую как операторы короткого замыкания последовательно с фигурными фигурными скобками, то в случае, если первый оператор выходит с правдивым значением, если последний оператор в истинном блоке выходит из ненулевого, то будет выполнен также блок сбоя. Как это:Понимание короткого замыкания Bash
returnNumber 0 && {
echo 'OK'
returnNumber 1
} || {
echo 'NG'
}
Выведет:
OK
NG
Итак, я искал простое решение для этого, и придумал это:
returnNumber 0 && {
echo 'OK'
returnNumber 1
:
} || {
echo 'NG'
}
Я знаю, это легко чтобы оставить вне толстой кишки, но является ли это подходящим способом для обхода?
Не делайте вид спорта из использования специального синтаксиса. Когда вы просто пишете 'if-then-else-fi', большинство людей поймут. Попробуйте представить правильные исключения. Я все еще не уверен в своем ответе http://stackoverflow.com/a/28478184/3220113: он эффективен, но его трудно читать. –