У меня есть такая логика в скрипте Bash:
Запустить что-нибудь;
Если это не удалось, напечатать что-нибудь и остановить;
Если нет, запустить что-то еще.
И все этовыполняется в сеансе ssh
.
Это, вероятно, тривиально, если я использовал $?
и if / else
.Но из-за удобства сопровождения сценария я ищу какое-то элегантное двухстрочное решение.
Это то, что у меня есть до сих пор
ssh ... '
ls attributes/*'$CONF_FILE'.rb || ls -l attributes/ && exit 1;
'$EDITOR' attributes/*'$CONF_FILE'.rb '$PART_VER';'
Однако это не имеет значения, что бы ни случилось.Поэтому я попытался:
ssh ... '
ls attributes/*'$CONF_FILE'.rb || (ls -l attributes/ && exit 1);
'$EDITOR' attributes/*'$CONF_FILE'.rb '$PART_VER';'
Однако exit
выходит только из подоболочки.И выход из скрипта из подоболочки совсем не элегантен .
Есть ли простое двухстрочное решение?Возможно, другие операторы имеют приоритет?