小编Dan*_*cio的帖子

为什么我会收到“意外标记‘(’附近的语法错误”?

我想遍历许多目录并删除所有文件,除了一些满足特定条件的文件。我有以下 bash 脚本:

#!/bin/bash
for i in */
do
  cd $i
  rm !(*M.*)
  cd ..
done
Run Code Online (Sandbox Code Playgroud)

但是,当我运行脚本时,出现以下错误:

script1.sh: line 5: syntax error near unexpected token `('
script1.sh: line 5: `    rm !(*M.*)'
Run Code Online (Sandbox Code Playgroud)

可能出什么问题了?我使用的是 Ubuntu 14.04。

感谢您的帮助。

unix bash

5
推荐指数
1
解决办法
6149
查看次数

标签 统计

bash ×1

unix ×1