如何编写一个linux脚本,将一个目录下的所有文件和目录复制到另一个目录?

如何编写一个linux脚本,将一个目录下的所有文件和目录复制到另一个目录?,linux,Linux,我试图创建的脚本有点问题 此脚本应采用两个参数,即源目录和目标目录,如果用户输入的参数少于2个,则应打印错误消息并退出。此外,此脚本应检查源目录是否存在,如果不存在,则应打印错误消息并退出。脚本还应检查目标目录是否存在,如果不存在,则应创建该目录。最后,脚本应该将文件从源目录复制到目标目录 这是我迄今为止的尝试: if (( $# < 2 )); echo "Error: Too few arguments supplied" exit 1 if [ -d "src_dir"

我试图创建的脚本有点问题

此脚本应采用两个参数,即源目录和目标目录,如果用户输入的参数少于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
if($#<2));
echo“错误:提供的参数太少”
出口1
如果[-d“src_dir”]
然后
echo“目录src_dir存在。”
其他的
echo“错误:目录src_dir不存在。”
fi
如果[-d“dst_dir”]
然后
echo“目录dst_dir存在。”
其他的
mkdir dst_目录
cp-r src_dir/*dst_dir
fi

任何帮助都将不胜感激。提前谢谢

要检查正确数量的参数:

用于检查目录是否存在:

要在第二个参数上设置dir,请执行以下操作:

最后,只需将它们全部复制:

cp -r $1/* $2/

你有什么问题?发生了什么,以及您希望发生什么?将您的代码粘贴到(在顶部添加一行“she bang”,即
#!/bin/bash
)祝您好运。
if [ ! -d "$1" ]; then
    echo "Error: Directory $1 does not exist."
    exit 1
fi
mkdir -p $2
cp -r $1/* $2/