我有一个目录,其名称类似于10.2 (14C92)我想使用 rmdir -rf 删除(以包含其内容)。我知道如何传递一个空格,\但我得到了结果:
-bash: syntax error near unexpected token ('
所以在我看来,我必须以某种方式从命令中转义括号。我如何正确地做到这一点?
您可以使用\转义任何单个字符,(并)像使用空格一样包含在内。虽然它有效,但如果您有很多字符/空格要转义,则可能会很麻烦。
更快的替代方法是使用单引号( ') 来转义整个 string,例如:
rm -rf '10.2 (14C92)'
Run Code Online (Sandbox Code Playgroud)
请记住,'转义所有内容,因此如果需要,请小心使用它,例如,引号内的变量扩展。也就是说,使用双引号也适用于转义空格和括号:
rm -rf "10.2 (14C92)"
Run Code Online (Sandbox Code Playgroud)
此外,根据您的问题,您尝试使用rmdir. rmdir仅适用于空目录,它没有-r和/或-f标志:
NAME rmdir - 删除空目录
概要 rmdir [选项]... 目录...
描述 删除 DIRECTORY(ies),如果它们是空的。
你会想要使用rm -rf.
如果10.2 (14C92)确实是空的,一个简单的
rmdir '10.2 (14C92)'
Run Code Online (Sandbox Code Playgroud)
会做。
转义是bash自己完成的,所以它适用于每个命令。换句话说,这是bash它决定什么传递给命令,根据自己的分析规则,命令,然后作用于争论之后 bash解析了它们。
| 归档时间: |
|
| 查看次数: |
8327 次 |
| 最近记录: |