作业实现过程:
#编程:在家目录下创建两个目录文件file_dir和dir_dir,如果家目录下有这两个
#文件夹,就不需要创建,询问用户是否要对目录清空[Y/N],输入一个文件路径,判断
#这个文件路径是否存在,如果存在,把这个目录下的目录文件复制到dir_dir中,如果是其他文件,
#复制到file_dir下,统计复制的文件和目录文件的个数,并打印出来
#!/bin/bash
read -p "请创建文件夹:" var1
#判断文件夹是否存在,并且是否为空
if [ -s /home/ubuntu/$var1/ ]
then
read -p "文件夹已存在,是否清空[y/n]" var3
if [ $var3 == 'y' ]
then
cd /home/ubuntu/$var1/
rm -rf *
fi
else
echo 没有相同文件夹,已创建新文件夹
mkdir /home/ubuntu/$var1
fi
read -p "请创建文件夹:" var2
if [ -s /home/ubuntu/$var2/ ]
then
read -p "文件夹已存在,是否清空[y/n]" var4
if [ $var4 == 'y' ]
then
cd /home/ubuntu/$var2/
rm -rf *
fi
else
echo 没有相同文件夹,已创建新文件夹
mkdir /home/ubuntu/$var2
fi
#判断路径是否存在,并不存在时死循环再次输入
while [ 1 ]
do
read -p "请输入一个路径:" var5
if [ -e $var5 ]
then
var6=(`ls $var5`)
#命令置换符,遍历路径下所有文件
for ((i=0;i<${#var6[@]};i++))
{
#判断文件是否是目录文件,分开复制
if [ -d $var5${var6[i]} ]
then
cp -r $var5${var6[i]} /home/ubuntu/$var1/
else
cp -r $var5${var6[i]} /home/ubuntu/$var2/
fi
}
break
else
echo 路径不存在!
fi
done
#命令置换符,统计文件个数
var7=(`ls /home/ubuntu/$var1/`)
var8=(`ls /home/ubuntu/$var2/`)
echo 该路径下共有${#var6[@]}个文件
echo 其中复制到$var1的目录文件个数是:${#var7[@]}
echo 其中复制到$var2的其它文件个数是:${#var8[@]}
实现效果: