a.终端循环的输入整数,当输入0时程序结束,此时输出刚才这些整数的和//累加
#!/bin/bash
sum=0
while [ 1 ]
do
read -p "请输入,按0结束" i
((sum+=$i))
if [ $i -eq 0 ]
then
echo 结束
break
fi
done
echo $sum
b.编程:在家目录下创建两个目录文件file_dir和dir_dir,如果家目录下有这两个文件夹,就不需要创建,询问用户是否要对目录清空[Y/N],
输入一个文件路径,判断这个文件路径是否存在,如果存在,把这个目录下的目录文件复制到dir_dir中,如果是其他文件,复制到file_dir下,统计复制的文件和目录文件的个数,并打印出来
#!/bin/bash
ls /home
if [ -e /home/file_dir ]
# -e 判断文件是否存在,存在条件满足
then if [ -e /home/dir_dir ]
#如果有,询问用户是否要对目录清空[Y/N],
then
read -p "是否清空目录[Y|N]" s
case $s in
Y)
rm -r /home/file_dir/*
rm -r /home/dir_dir/*
;;
esac
fi
else
mkdir ~/file_dir
mkdir ~/dir_dir
#目录不存在,创建目录
fi
read -p "输入一个路径" dir
d=0
f=0
if [ -e $dir ]
#输入一个文件路径,判断是否存在
then
for var in `ls $dir`
do
if [ -d $dir/$var ]
#判断文件类型,目录|其他
then cp -r $dir/$var /home/ubuntu/file_dir
((d++))
#目录放到/home/dir_dir
else cp -r $dir/$var /home/ubuntu/file_dir
((f++))
#其他文件放到/home/file_dir
fi
#统计复制的文件和目录文件的个数,并打印出来
done
else echo 路径不存在
fi
echo "复制的目录文件有$d个,其他文件有$f个"