【发布时间】:2015-06-09 14:31:00
【问题描述】:
该模式有点不寻常,因为我添加了尾随的“?(。*)”部分。它像我预期的那样在命令行上工作,但我在脚本中遇到语法错误。
$ bash --version
GNU bash, version 4.3.11(1)-release (i686-pc-linux-gnu)
...
$ cat x.sh
touch a.so a.so.1
ls *.so?(.*)
rm *.so?(.*)
$ touch a.so a.so.1
$ ls *.so?(.*)
a.so a.so.1
$ rm *.so?(.*)
$ ls
x.sh
$ bash x.sh
x.sh: line 2: syntax error near unexpected token `('
x.sh: line 2: `ls *.so?(.*)'
$
【问题讨论】: