我正在尝试编写一个简单的bash脚本,该脚本应该将具有完整权限的所有文件从作为参数发送的某些文件夹复制到新文件夹中。
这是我到目前为止所做的:
for dir in $@
do
find $dir -perm -exec cp{} newLocation \;
done
它说-exec在这里不是一个已知的命令。我错过了什么?
答案 0 :(得分:2)
-perm需要一个权限参数。这里发生的是find试图将-exec解释为该权限。
你可能想要一些
的内容find $dir -perm 777 -exec cp {} newLocation \;
答案 1 :(得分:0)
你可能想要使用与查找不同的东西
尝试rsync:
rsync -av $dir newlocation/$dir
或tar:
cd $dir; tar cf - . | (cd newlocation; tar xvf -)
当然可以通过找到它来完成,但为什么要重新发明轮子?