编写一个shell脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中。
时间: 2023-04-25 17:03:56 浏览: 234
以下是一个简单的shell脚本,实现了将指定的文件复制到指定目录的功能:
```
#!/bin/bash
# 判断参数个数是否正确
if [ $# -lt 2 ]; then
echo "Usage: $ <destination_directory> <file1> [<file2> ...]"
exit 1
fi
# 目标目录
dest_dir=$1
# 复制文件
shift
while [ $# -gt ]; do
cp $1 $dest_dir
shift
done
echo "Files copied successfully."
```
使用方法:
```
$ ./copy_files.sh /path/to/destination file1.txt file2.txt file3.txt
```
其中,`/path/to/destination`是目标目录的路径,`file1.txt`、`file2.txt`、`file3.txt`是要复制的文件名。
相关问题
编写一个shell脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中
#!/bin/bash
# 判断输入参数是否正确
if [ $# -lt 2 ]; then
echo "Usage: $0 destination_directory source_file1 source_file2 ..."
exit 1
fi
# 获取目标目录
destination_directory=$1
# 判断目标目录是否存在,如果不存在则创建
if [ ! -d "$destination_directory" ]; then
mkdir -p "$destination_directory"
fi
# 复制源文件到目标目录中
shift
while [ $# -gt 0 ]; do
cp "$1" "$destination_directory"
shift
done
echo "Copy complete!"
编写一个shell脚本,它把第二个位置参数及其以后的各个参数指定的文件复制到第一个位置参数指定的目录中
可以使用以下的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>`等是要复制的文件。如果要复制多个文件,可以在后面加上更多的文件名。如果目标目录不存在或者文件不存在,则会输出错误信息。如果复制成功,则会输出成功信息。
阅读全文