作业:家目录下创建两个目录文件,如果有这两个文件夹,询问用户是否要对目录清空[Y/N],输入一个文件路径,判断这个文件路径是否存在,把这个目录下的目录文件和其它文件分别复制到两个文件夹中,并统计个数

 作业实现过程:

#编程:在家目录下创建两个目录文件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[@]}

 

 实现效果: