Shell Globbing中的条件字符-Bash / Zsh

时间:2019-03-11 17:03:47

标签: bash shell pattern-matching zsh glob

我试图获取一个case语句来匹配Bash / Zsh shell中的四个输入之一:

  1. v
  2. -v
  3. 版本
  4. -版本

你可以看到我要去的地方吧?

我正在以下案例声明中寻找它:

case "$1" in
  ?(--)version|?(-)v)
    # do stuff
  ;;
esac

我发现这不起作用。根据我的阅读,?(pattern)是如何匹配0个或1个出现的模式。

我确实通过匹配案例使它起作用

--version|version|-v|v)

但是有一些更整洁的东西真是太好了,此外,这是一种学习经验!

我想这可能是我无法正确转义的原因,但是我也尝试将我的原始字符串用双引号(“)括起来,但是我再也没有输出。

有什么建议吗?

0 个答案:

没有答案