作业需求:
在家目录下创建两个目录文件file_dir和dir_dir,如果家目录下有这两个文件夹,就不需要创建,询问用户是否要对目录清空[Y/N],输入一个文件路径,判断这个文件路径是否存在,如果存在,把这个目录下的目录文件复制到dir_dir中,如果是其他文件,复制到file_dir下,统计复制的文件和目录文件的个数,并打印出来
作业实现过程:
#!/bin/bash
if [ -d /home/file_dir -a -d /home/dir_dir ]
then
read -p "是否删除【Y/N】" a
case $a in
Y)
cd /home/file_dir/
for va in `ls /home/file_dir/`
do
if [ -d $va]
then
sudo rm -r $va
else
sudo rm $va
fi
done
#sudo rmdir /home/file_dir
cd /home/dir_dir/
for v in `ls /home/dir_dir/`
do
if [ -d $v]
then
sudo rm -r $v
else
sudo rm $v
fi
done
# sudo rmdir /home/dir_dir
echo 删除成功
;;
N)
;;
esac
else
cd /home
sudo mkdir file_dir
sudo mkdir dir_dir
echo 无,已创建
fi
x=0
y=0
read -p "请输入一个文件路径" b
if [ -e $b ]
then
cd $b
for var in `ls $b`
do
if [ -d $var ]
then
((x++))
sudo cp $var /home/dir_dir/
else
((y++))
sudo cp $var /home/file_dir/
fi
done
else
echo 该路径不存在
fi
echo 目录文件个数为$x
echo 文件个数为$y
作业实现效果:
ubuntu@ubuntu:day5$ bash zy3.sh
是否删除【Y/N】N
请输入一个文件路径/home/ubuntu/day6
[sudo] ubuntu 的密码:
目录文件个数为0
文件个数为13
ubuntu@ubuntu:day5$ cd
ubuntu@ubuntu:~$ cd /home
ubuntu@ubuntu:home$ ls
dir_dir file_dir ubuntu
ubuntu@ubuntu:home$ cd file_dir/
ubuntu@ubuntu:file_dir$ ls
1.c 2.c 3.c 4.c a.out core p.c zy1.c zy2.c zy3.c zy4.c zy5.c 统计小写字母.c
ubuntu@ubuntu:file_dir$