我需要编写一个脚本,将主目录(home directory)中的所有*.txt文件复制到脚本的第一个参数所指定的新创建的目录中(${1})。如果备份目录已经存在,我希望跳过它。我尝试使用find命令中的-exclude选项进行排除,但这对我不起作用。最终我在循环中使用了if语句,但它也不起作用,我不知道为什么...谢谢你的帮助!!
以下是我的代码:
#!/bin/bash
mkdir ${1}
for file in $(find ~/ -name *.txt)
do
if [ ! -f ~/${1}/$file ]
then
cp -i -v $file -t ~/${1}
fi
done
cp *.txt destination/
命令,也可以加上cp -n
选项。另外还可以考虑使用rsync
命令。 - tripleee