我有一个脚本可以查找一些目录,然后将其内容复制到另一个目录。
现在的问题是,一些找到的目录需要在命名中包含括号,它们看起来像这样:
/directory/with/[brackets]
当 cp 尝试像这样复制它时,会说不存在这样的文件或目录:
cp -r /directory/with/[brackets]/* /some/other/directory
现在我发现需要转义括号才能使其工作,我只需要一个简单的解决方案。
答案1
你基本上有两个选择:
使用引号转义:
cp -r "/directory/with/[brackets]"/* /some/other/directory
或者
cp -r '/directory/with/[brackets]'/* /some/other/directory
使用反斜杠转义:
cp -r /directory/with/\[brackets\]/* /some/other/directory