ฉันมีสคริปต์ Bash ที่ดำเนินการตามค่าของตัวแปร ไวยากรณ์ทั่วไปของคำสั่ง 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 `)'
จากนั้นฉันลองใช้ regex:
case ${command} in
^$) do_default ;;
...
*) do_help ;;
esac
ด้วยเหตุนี้ช่องว่างจึง${command}
ตกอยู่ใน*
เคส
ฉันพยายามทำสิ่งที่เป็นไปไม่ได้หรือเปล่า?