如何转义左括号和右括号 [] 以与 cp 命令一起使用?

如何转义左括号和右括号 [] 以与 cp 命令一起使用?

我有一个脚本可以查找一些目录,然后将其内容复制到另一个目录。

现在的问题是,一些找到的目录需要在命名中包含括号,它们看起来像这样:

/directory/with/[brackets]

当 cp 尝试像这样复制它时,会说不存在这样的文件或目录:

cp -r /directory/with/[brackets]/* /some/other/directory

现在我发现需要转义括号才能使其工作,我只需要一个简单的解决方案。

答案1

你基本上有两个选择:

  1. 使用引号转义:

    cp -r "/directory/with/[brackets]"/* /some/other/directory
    

    或者

    cp -r '/directory/with/[brackets]'/* /some/other/directory
    
  2. 使用反斜杠转义:

    cp -r /directory/with/\[brackets\]/* /some/other/directory
    

相关内容