Bash зависит от статуса выхода , поэтому try/catch
эквивалента нет. Но он по-прежнему мощный, чтобы соответствовать вашим потребностям.
Для простых случаев вы можете использовать
[[ your_test_expression ]] && commands
Это эквивалентно
if [[ your_test_expression ]]; then
commands
fi
If
использует «состояние выхода» [[...]], так что фактически вы можете использовать любую команду после if
. Просто убедитесь, что ваша логика управления зависит от состояния выхода команды.
В сложных случаях вам все еще нужны операторы if или case для выражения вашей логики.