为什么我得到“意外标记'('”附近的语法错误?

丹尼尔·乌伦西奥(Daniel Urencio)

我想浏览许多目录并删除所有文件,除了一些符合特定条件的文件。我有以下bash脚本:

#!/bin/bash
for i in */
do
  cd $i
  rm !(*M.*)
  cd ..
done

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

script1.sh: line 5: syntax error near unexpected token `('
script1.sh: line 5: `    rm !(*M.*)'

有什么事吗 我正在使用Ubuntu 14.04。

谢谢你的帮助。

菲露

我认为您应该启用extglob以使用反向或负通配符:

shopt -s extglob

请注意,您可以一直保持此状态,这无害。

也就是说,您不必强制在代码中使用循环,而可以直接将其放入脚本中:

rm */!(*M.*)

您可以访问此帖子以获取其他解决方案:https : //unix.stackexchange.com/questions/78376/in-linux-how-to-delete-all-files-except-the-pattern-txt

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

意外标记`}'附近的语法错误

来自分类Dev

意外标记'then'附近的语法错误

来自分类Dev

意外标记'}'附近的语法错误

来自分类Dev

意外标记附近的语法错误`

来自分类Dev

意外标记“then”附近的语法错误

来自分类Dev

意外标记'echo'附近的语法错误

来自分类Dev

意外标记“&”附近的语法错误(使用“ |&”)

来自分类Dev

意外标记'-bash附近的语法错误

来自分类Dev

Bash:意外标记'done'附近的语法错误

来自分类Dev

意外标记'done'附近的语法错误

来自分类Dev

.bashrc文件语法错误在意外标记“(”附近

来自分类Dev

意外标记`do附近的语法错误

来自分类Dev

意外标记`done'附近的语法错误

来自分类Dev

意外标记“完成”附近的语法错误-读取行时

来自分类Dev

Python - 意外标记“|”附近的语法错误

来自分类Dev

ubuntu,意外标记附近的语法错误`('

来自分类Dev

-bash: 意外标记附近的语法错误 '('

来自分类Dev

我正在猛烈抨击:意外标记'('附近的语法错误

来自分类Dev

sh:意外令牌'}'附近的语法错误

来自分类Dev

意外令牌'('附近的语法错误

来自分类Dev

awk:意外令牌'('附近的语法错误

来自分类Dev

bash:意外令牌'('附近的语法错误

来自分类Dev

意外令牌`('附近的Bash语法错误

来自分类Dev

意外令牌附近的Cron语法错误

来自分类Dev

意外令牌'fi'附近的语法错误

来自分类Dev

-bash:意外令牌附近的语法错误

来自分类Dev

意外令牌'<'附近的语法错误

来自分类Dev

意外令牌'='()附近的语法错误

来自分类Dev

意外令牌'newline'附近的语法错误?