我有以下目录
我想将除(.git,.gitignore和Dir B)之外的所有内容复制到Dir B.(Dir B在Dir A之下)
我试过以下
cp -r !(Dir B|.git|.gitignore) ~/Dir B
在终端中运行时,这可以正常工作,但是当我从Jenkins Shell窗口运行它时,会出现错误。
syntax error near unexpected token `('
请建议
答案 0 :(得分:2)
尝试此命令 -
rsync -r --exclude='.*' --exclude='DirB' ./ DirB
答案 1 :(得分:0)
我假设您不想要将任何隐藏文件/目录复制到目标文件夹,即Dir B
。如果是这样,只需使用以下命令并在相同的shell 中使用它们,如下面的快照所示:
shopt -s extglob
cp -r !(Dir B) 'Dir B'
shopt -u extglob
您不必明确指定 .git 目录和 .gitignore 文件。此外,您可以根据需要/配置更改上述目标目录('Dir B'
)。