Ho uno script Bash che esegue azioni basate sul valore di una variabile. La sintassi generale del comando caso è:Come si esegue il test di una stringa vuota in un'istruzione case Bash?
case ${command} in
start) do_start ;;
stop) do_stop ;;
config) do_config ;;
*) do_help ;;
esac
mi piacerebbe eseguire una routine di default se non viene fornito alcun comando e do_help se il comando non viene riconosciuto. Ho provato omettendo il valore caso così:
case ${command} in
) do_default ;;
...
*) do_help ;;
esac
Il risultato era prevedibile, suppongo:
syntax error near unexpected token `)'
Poi ho provato ad utilizzare il mio miglior colpo a una regex:
case ${command} in
^$) do_default ;;
...
*) do_help ;;
esac
Con questa , un $ {command} vuoto cade nel caso *.
Sto cercando di fare l'impossibile?
come viene fornito il comando? attraverso stdin? – Oak