У меня есть Bash script, который выполняет действия, основанные на значении переменной. Общий синтаксис оператора case:
case ${command} in
start) do_start ;;
stop) do_stop ;;
config) do_config ;;
*) do_help ;;
esac
Я хотел бы выполнить стандартную процедуру, если команда не указана, и do_help, если команда не распознана. Я попытался исключить значение аргумента таким образом:
case ${command} in
) do_default ;;
...
*) do_help ;;
esac
Результат был предсказуемым, я полагаю:
syntax error near unexpected token `)'
Затем я попытался использовать свой лучший снимок в регулярном выражении:
case ${command} in
^$) do_default ;;
...
*) do_help ;;
esac
При этом пустая ${команда} попадает в случай *.
Я пытаюсь сделать невозможное?