Bash脚本实现批量文件复制到指定目录
#!/bin/bash
if [ $# -lt 2 ]
then echo 'Usage: $0 Dir file1 file2 ...'; exit 1;
fi
test ! -d $1 && echo 'Parameter 1 must be a directory' && exit 1
DIR=$1
shift
for i
do
test ! -f $i && echo 'Error: $i is not an ordinary file or Does not exist' && continue;
cp -i $i $DIR
done
这段Bash脚本实现的功能是将多个文件复制到指定的目录中。
脚本解释:
- 检查参数数量:
if [ $# -lt 2 ]: 判断输入参数是否少于2个。- 如果参数不足,则输出使用说明
Usage: $0 Dir file1 file2 ...并退出脚本。
- 检查目录:
test ! -d $1 && echo 'Parameter 1 must be a directory' && exit 1- 检查第一个参数是否为目录,如果不是目录,则输出错误信息并退出。
- 循环复制文件:
DIR=$1; shift: 将第一个参数(目录)赋值给变量 DIR,并将其从参数列表中移除。for i in do ... done: 循环处理剩余的参数,每个参数代表一个文件名。test ! -f $i && echo 'Error: $i is not an ordinary file or Does not exist' && continue;- 检查当前参数是否为普通文件且存在,如果不是,则输出错误信息并跳过该文件,继续处理下一个参数。
cp -i $i $DIR- 使用
cp -i命令将文件复制到指定目录,-i选项会在目标文件已存在时提示用户是否覆盖。
- 使用
- 脚本结束
原文地址: https://www.cveoy.top/t/topic/jjPP 著作权归作者所有。请勿转载和采集!