编写一个shell脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中
时间: 2023-04-21 13:06:40 浏览: 174
多个子目录和文件的目录复制到另外一个指定的目录下
可以使用以下的shell脚本来实现:
```
#!/bin/bash
# 判断参数个数是否正确
if [ $# -lt 2 ]; then
echo "Usage: $ <destination directory> <file1> [<file2> ...]"
exit 1
fi
# 获取目标目录
dest_dir=$1
# 判断目标目录是否存在
if [ ! -d "$dest_dir" ]; then
echo "Destination directory does not exist: $dest_dir"
exit 1
fi
# 复制文件
shift
while [ $# -gt ]; do
file=$1
if [ -f "$file" ]; then
cp "$file" "$dest_dir"
echo "Copied $file to $dest_dir"
else
echo "File does not exist: $file"
fi
shift
done
```
使用方法:
```
$ ./copy_files.sh <destination directory> <file1> [<file2> ...]
```
其中,`<destination directory>`是目标目录,`<file1>`、`<file2>`等是要复制的文件。如果要复制多个文件,可以在后面加上更多的文件名。如果目标目录不存在或者文件不存在,则会输出错误信息。如果复制成功,则会输出成功信息。
阅读全文