我试图获取一个case语句来匹配Bash / Zsh shell中的四个输入之一:
你可以看到我要去的地方吧?
我正在以下案例声明中寻找它:
case "$1" in
?(--)version|?(-)v)
# do stuff
;;
esac
我发现这不起作用。根据我的阅读,?(pattern)是如何匹配0个或1个出现的模式。
我确实通过匹配案例使它起作用
--version|version|-v|v)
但是有一些更整洁的东西真是太好了,此外,这是一种学习经验!
我想这可能是我无法正确转义的原因,但是我也尝试将我的原始字符串用双引号(“)括起来,但是我再也没有输出。
有什么建议吗?