【发布时间】:2019-11-22 07:55:00
【问题描述】:
我定义了一个函数,如果它的第一个参数包含a、b 或c,则打印yes:
$ func() { [[ $1 =~ [abc] ]] && echo yes; }
$ func xyz
$ func xaz
yes
$ func xbz
yes
$ func xcz
yes
现在我想检测[、] 或*,所以我尝试了:
func() { [[ $1 =~ [\[\]*] ]] && echo yes; }
$ func x*z
$ func x[z
$ func x]z
yes
这似乎只适用于]。我还尝试set -f 禁用全局扩展,但得到了相同的结果。
【问题讨论】:
标签: bash function arguments glob