Shell脚本不起作用

时间:2014-08-01 13:25:56

标签: shell

我无法找出发生了什么。这个正则表达式不适用于shell脚本吗?

sudo rm -R -f '/web/!(release)'

有什么想法吗?

感谢

2 个答案:

答案 0 :(得分:1)

也许您忘了启用extglob。你也不应该引用扩展的glob模式:

shopt -s extglob
sudo rm -R -f '/web/'!(release)

此外,如果您呼叫sudo的shell无法访问/web,则可以使用bash包裹您的命令:

sudo bash -c "shopt -s extglob"$'\n'"rm -R -f '/web/'!(release)"

请参阅Pattern MatchingFilename Expansion

答案 1 :(得分:1)

脚本文件

shopt -s extglob

sudo rm -R -f 'web/'!(release);

结果

script.sh:语法错误:"("意外

编辑:

我和" sh"而不是bash

现在使用bash script.sh它可以正常工作

感谢