当您只需将其键入控制台并运行时,此命令即可完美运行;
rm -rf !(folder1|file_name|log.txt|*.sh|*.conf)
但是,当我从 bash 脚本运行它时,它会给我以下错误;
./test.sh: line 1: syntax error near unexpected token `('
./test.sh: line 1: `rm -rf !(folder1|file_name|log.txt|*.sh|*.conf)'
它是扩展的 glob 匹配语法。您需要在rm
命令之前使用shopt -s extglob
启用它。