我的非交互式bash shell具有extglob off
。我想在命令之前的语句中将其打开,但是我注意到,当shopt -s extglob
在一个if .. then .. else
块中时,它会以某种方式无法注册。
以下依赖于extglob的命令无效:syntax error near unexpected token '('
。
哪里可以extglob
设置,为什么有限制呢?这是否适用于其他选项?... GNU bash 4.1.5
这有效:
shopt -s extglob
if true ;then
touch a.bcd; ls a.@(bcd)
fi
这将失败:
if true ;then
shopt -s extglob
touch a.bcd; ls a.@(bcd)
fi
... line 17: syntax error near unexpected token `('
... line 17: `touch a.bcd; ls a.@(bcd)'