我正在尝试创建的脚本有点问题。
此脚本应采用两个参数,即源目录和目标目录,如果用户输入少于2个参数,则应打印出错误消息并退出。此外,此脚本应检查源目录是否存在,如果不存在,则应打印出错误消息并退出。此外,脚本应检查目标目录是否存在,如果不存在,则应创建该目录。最后,脚本应该将文件从源目录复制到目标目录。
这是我到目前为止的尝试:
if (( $# < 2 ));
echo "Error: Too few arguments supplied"
exit 1
if [ -d "src_dir" ]
then
echo "Directory src_dir exists."
else
echo "Error: Directory src_dir does not exist."
fi
if [ -d "dst_dir" ]
then
echo "Directory dst_dir exists."
else
mkdir dst_dir
cp -r src_dir/* dst_dir
fi
任何帮助都会非常感激。提前谢谢!
答案 0 :(得分:1)
用于检查正确的参数数量:Check number of arguments passed to a Bash script
if [ "$#" -ne 2 ]; then
echo "Error: Too few arguments supplied"
exit 1
fi
检查目录是否存在:Check if a directory exists in a shell script
if [ ! -d "$1" ]; then
echo "Error: Directory $1 does not exist."
exit 1
fi
用于在第二个参数上创建目录:How to use Bash to create a folder if it doesn't already exist?
mkdir -p $2
最后,只需复制它们:
cp -r $1/* $2/