作业需求:
在家目录下创建两个目录文件file_dir和dir_dir,如果家目录下有这两个
文件夹,就不需要创建,询问用户是否要对目录清空[Y/N],输入一个文件路径,判断
这个文件路径是否存在,如果存在,把这个目录下的目录文件复制到dir_dir中,如果是其他文件,
复制到file_dir下,统计复制的文件和目录文件的个数,并打印出来
作业实现过程:
#!/bin/bash
i=0
j=0
cd ~/
read -p "请输入要创建的两个目录文件名:" var1 var2
if [ -e $var1 -a ! -e $var2 ] //如果文件dir_dir不存在,创建目录dir_dir
then
mkdir $var2
elif [ ! -e $var1 -a -e $var2 ] //如果文件file_dir不存在,创建目录file_dir
then
mkdir $var1
elif [ ! -e $var1 -a ! -e $var2 ] //如果文件dir_dir 和file_dirdou不存在,创建目录
then
mkdir $var1 $var2
fi
read -p "是否需要清空目录。是Y,否N:" var3
if [ "$var3" == "Y" ] //清空目录下的文件和目录
then
for var4 in `ls $var1`
do
rm -rf ./$var1/$var4
done
for var5 in `ls $var2`
do
rm -rf ./$var2/$var5
done
fi
read -p "请输入某个文件路径:" var6
if [ -e $var6 ] //判断路径下的目录组成,目录复制给dir_dir,其他复制到file_dir
then
for var7 in `ls $var6`
do
if [ -d $var6/$var7 ]
then
cp -r $var6/$var7 $var2
((i++))
elif ! [ -d $var6/$var7 ]
then
cp -r $var6/$var7 $var1
((j++))
fi
done
echo 复制目录文件的个数为$i个
echo 复制其他文件的个数为$j个
fi
作业实现效果:
ubuntu@ubuntu:C_high$ ./09_test.sh
请输入要创建的两个目录文件名:file_dir dir_dir
是否需要清空目录。是Y,否N:Y
请输入某个文件路径:/home/ubuntu/hqyj2
复制目录文件的个数为4个
复制其他文件的个数为1个
ubuntu@ubuntu:C_high$