Это звучит как
first-condition && consequences1
С последующим:
(снова)
first-condition && second-condition && consequences2
Это можно изменить на if;then;fi
, вставив вторичную if
в оригинал:
if [ first-condition ]; then
consequences1
if [ second-condition ]; then # Because first-condition is already true here
consequences2
fi
fi
Таким образом, ваши consequences2
не являются проблемой "еще" :) Вложение это весело.
Если ваше второе условие просто основано на выводе последствия1, вы можете запустить его в тесте второго, if
:
if [ first-condition ]; then
if [ consequences1-test ]; then
consequences2
fi
fi
Это должно подсластить твой горшок. Просто помните, что НИЧЕГО можно запустить в тесте; только код возврата последней команды (или вывод на stdio), но тогда вам нужно будет что-то проверить:
[ "`consequences1`" == "allok" ]
вопросы