shell编程练习

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个"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值