操作系统 实验15 批处理操作接口5:case判断与for循环

1、建立文件case_score.sh,使用case对成绩等级进行判断

脚本:

#!/bin/bash
echo -n "请输入一个分数:"
read score
lev=$(echo $score/10|bc)
if [ "$lev" -lt 6 ];then
lev=5
fi
if [ "$lev" -eq 10 ];then
lev=9
fi
case "$lev" in
5) echo "$score分属于不及格";;
6) echo "$score分属于及格";;
7) echo "$score分属于中等";;
8) echo "$score分属于良好";;
9) echo "$score分属于优秀";;
*) echo "分值不合法";;
esac

命令:. ./case_score.sh

结果:

2、建立文件for.sh,使用for循环对水果类型进行判断

脚本:

#!/bin/bash
for FRUIT in apple orange banana pear
do
	echo "当前水果是$FRUIT。"
done
echo "不再有其它水果。"

命令:. ./for.sh

结果:

3、改写for.sh为文件for2.sh,在in后使用新的循环列表形式${变量}

脚本:

#!/bin/bash
fruits="apple orange banana pear"
for FRUIT in ${fruits}
do
	echo "当前水果是$FRUIT。"
done
echo "不再有其它水果。"

命令:. ./for2.sh

结果:

4、建立文件for3.sh,使用枚举的、简略的循环列表形式输出当前循环变量值

脚本:

#!/bin/bash
i="1 2 3 4 5"
for vi in ${i}
do
	echo "当前循环变量值=$vi。"
done
for vi in 1 2 3 4 5
do
	echo "当前循环变量值=$vi。"
done
for vi in {1..5}
do
	echo "当前循环变量值=$vi。"
done

命令:. ./for3.sh

结果:

5、建立文件for4.sh循环累加1到100的自然数序列之和,使用命令替换作为循环列表

脚本:

#!/bin/bash
sum=0
for VAR in `seq 1 100`  #求1到100的自然数序列之和
do
	let "sum+=VAR"
done
echo "Total: $sum"

命令:. ./for4.sh

结果:

6、建立文件for5.sh循环计算1到100间隔为2的自然数序列之和

脚本:

#!/bin/bash
sum=0
for VAR in $(seq 1 2 100) 	#求1到100间隔为2的自然数序列之和
do
	let "sum+=VAR"
done
echo "Total: $sum"

命令:. ./for5.sh

结果:

7、建立文件for6.sh,逐个查看目录中每个文件的属性

脚本:

#!/bin/bash
cd c
for VAR in $(ls)
do
	ls -l $VAR
done
cd

命令:. ./for6.sh

结果:

8、建立文件for7.sh,输出命令行上的参数值

脚本:

#!/bin/bash
for VAR
do
	echo -n "$VAR "
done
echo

命令:. ./for7.sh 1 2 3 4

结果:

9、建立文件for8.sh,输出命令行上的参数值

脚本:

#!/bin/bash
for VAR in $@
do
	echo -n "$VAR "
done
echo

命令:. ./for8.sh 1 2 3 4

结果:

10、使用c语言格式的for循环,输出循环变量值

脚本:

#!/bin/bash
for ((i=1;i<=10;i++))
do
	echo -n "$i "
done
echo

命令:. ./for9.sh

结果:

11、建立文件for11.sh,分别计算1到100的自然数序列之和及1到100间隔为2的序列之和

脚本:

#!/bin/bash
sumi=0
sumj=0
for ((i=1,j=1;i<=100;i++,j+=2))
do
	let "sumi+=i"
	if [ $j -lt 100 ];then
		let "sumj+=j"
	fi
done
echo "sumi=$sumi"
echo "sumj=$sumj"

命令:. ./for11.sh

结果:

12、建立文件for13.sh,执行无限循环

脚本:

#!/bin/bash
for ((;1;))
do
	echo "无限循环"
done

命令:. ./for13.sh

结果:

  • 14
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值