直接使用cp命令时,如果新的路径不存在则会报错
cannot create regular file ‘…’: No such file or directory
所以要先判断文件夹是否存在,然后再使用cp
复制文件并且判断新文件夹是否存在,不存在则新建文件夹再复制
#!/bin/bash
#获取新路径的文件夹
path=$(dirname $2)
#判断将新路径的文件夹是否存在
if [ ! -d "${path}" ]; then
echo "创建目录:${path}"
mkdir -p "${path}"
fi
echo "复制文件 $1 到 $2"
cp -R "$1" "$2"
脚本保存为copy.sh
使用:
sh copy.sh 原完整路径 新完整路径