-1

我有以下问题:我想制作一个脚本,将某个目录完全备份到另一个目录。我可能不会使用 cp -r 或任何其他递归命令。所以我在考虑使用while或for循环。需要备份的目录由参数给出。这是我到目前为止所拥有的:

OIFS="$IFS"
IFS=$'\n'

for file in `find $1`
do
  cp $file $HOME/TestDirectory
done

IFS="$OIFS"

但是当我执行它时,这就是我的终端所说的: Script started, file is typescript

4

1 回答 1

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

使用参数在本地运行您的脚本:

./myScript rootDirectoryWhereSearchForFiles
于 2012-12-19T19:10:44.507 回答