Mam skrypt Bash, który wykonuje akcje na podstawie wartości zmiennej. Ogólna składnia oświadczenia przypadku jest:Jak przetestować pusty ciąg w instrukcji Bash case?
case ${command} in
start) do_start ;;
stop) do_stop ;;
config) do_config ;;
*) do_help ;;
esac
Chciałbym wykonać domyślną procedurę jeśli komenda nie jest zapewnione, a do_help czy polecenie jest nierozpoznany. Próbowałem pomijając wartość przypadek tak:
case ${command} in
) do_default ;;
...
*) do_help ;;
esac
Wynik był do przewidzenia, jak sądzę:
syntax error near unexpected token `)'
Potem spróbował wykorzystać mój najlepszy strzał w regex:
case ${command} in
^$) do_default ;;
...
*) do_help ;;
esac
Z tego , puste $ {command} przechodzi do * przypadku.
Czy próbuję zrobić niemożliwe?
w jaki sposób dostarczane jest polecenie? przez stdin? – Oak