文件名包含括号时出错

文件名包含括号时出错

当我尝试将文件名从 更改old.file(1).gz为 时new.file.gz,它说语法错误,我正在使用 ubuntu 12.04。

mv old.file(1).gz new.file.gz
bash: syntax error near unexpected token `('

答案1

Yeti 的评论对你有用,但如果你想知道为什么,那是因为括号被解释为特殊字符,并且必须用转义\或引用整个文件名(如上所述)[编辑:抱歉,只有 ( 和)需要引用]。

如果您启用了制表符补全功能,只需键入文件名的前几个字符并按制表符即可。即,键入mv old并点击选项卡,应该变成mv old.file\(1\).gz(除非有其他潜在的文件old*可以引用)。

答案2

mv 'old.file(1).gz' new.file.gz

应该解决问题。

相关内容