括号在Bash脚本中不起作用

Bob*_*obo 1 syntax bash parentheses

我正在编写一个脚本,需要从目录中删除所有内容,除了两个目录,mysql和temp.

我之前问了一个问题,得到的代码在命令行中有效:

rm -rf !(mysql|temp)
Run Code Online (Sandbox Code Playgroud)

但是它在脚本中不起作用.我收到此错误"语法错误:"("意外".

我需要做的括号有什么特别之处吗?

che*_*ner 5

您可能需要在脚本中显式启用扩展模式:

shopt -s extglob
Run Code Online (Sandbox Code Playgroud)