I have a Bash script that performs actions based on the value of a variable. The general syntax of the case statement is:
case ${command} in
start) do_start ;;
stop) do_stop ;;
config) do_config ;;
*) do_help ;;
esac
I'd like to execute a default routine if no command is provided, and do_help if the command is unrecognized. I tried omitting the case value thus:
case ${command} in
) do_default ;;
...
*) do_help ;;
esac
The result was predictable, I suppose:
syntax error near unexpected token `)'
Then I tried using a regex:
case ${command} in
^$) do_default ;;
...
*) do_help ;;
esac
With this, an empty ${command} falls through to the * case.
Am I trying to do the impossible?