我遇到了以下问题:我想创建一个脚本,将某个目录完全备份到另一个目录。我可能不会使用cp -r或任何其他递归命令。所以我在考虑使用while或for循环。需要重新上载的目录带有参数。这就是我到目前为止所做的:
OIFS="$IFS"
IFS=$'\n'
for file in `find $1`
do
cp $file $HOME/TestDirectory
done
IFS="$OIFS"
但是当我执行它时,这就是我的终端所说的:脚本开始,文件是打字稿
答案 0 :(得分:1)
试试这个:
find "$1" -type f -print0 | xargs -0 cp -t $HOME/TestDirectory
不要通过script
运行脚本!
将此(shebang)添加到文件顶部:
#!/bin/bash
find "$1" -type f -print0 | xargs -0 cp -t $HOME/TestDirectory
更改脚本的权限以添加executable
标志:
chmod +x myScript
运行你的脚本localy whith arguments:
./myScript rootDirectoryWhereSearchForFiles