1、作业需求:
在家目录下创建两个目录文件file_dir和dir_dir,如果家目录下有这两个文件夹,就不需要创建,询问用户是否要对目录清空[Y/IN],输入一个文件路径,判断这个文件路径是否存在,如果存在,把这个目录下的目录文件复制到dir_dir中,如果是其他文件,复制到file_dir下,统计复制的文件和目录文件的个数,并打印出来。
2、实现过程:
#!/bin/bash
if [ -e /home/ubuntu/file_dir ] #判断file_dir目录文件是否存在
then
echo file_dir目录文件已存在。
read -p "是否清空该目录文件[Y/N]:" var1
if [ $var1 == Y ]
then
rm -rf /home/ubuntu/file_dir/**
echo file_dir目录清理成功。
fi
else
echo file_dir目录文件不存在。
mkdir /home/ubuntu/file_dir
echo file_dir目录文件创建成功。
fi
if [ -e /home/ubuntu/dir_dir ] #判断dir_dir目录文件是否存在
then
echo dir_dir目录文件已存在。
read -p "是否清空该目录文件[Y/N]:" var2
if [ $var2 == Y ]
then
rm -rf /home/ubuntu/dir_dir/**
echo dir_dir目录清理成功。
fi
else
echo dir_dir目录文件不存在。
mkdir /home/ubuntu/dir_dir
echo dir_dir目录文件创建成功。
fi
con1=0
con2=0
while [ 1 ]
do
read -p "请输入一个路径:" var3
if [ -e $var3 ]
then
echo 该路径存在。
for var4 in `ls $var3`
do
echo $var4
if [ -d $var3/$var4 ]
then
cp -rf $var3/$var4 /home/ubuntu/dir_dir/
((con1++))
else
cp -f $var3/$var4 /home/ubuntu/file_dir/
((con2++))
fi
done
echo 文件复制成功。
break
else
echo 该路径不存在。
fi
done
echo 复制了$con1个文件夹和$con2个文件。
3、实现效果: