一、for语句的双层嵌套
1.1、九九乘法表
要实现以下图片的格式
#!/bin/bash
for((i=1;i<=9;i++))
do
for((j=1;j<=i;j++))
do
echo -n "$i x $j=$(expr $i \* $j) "
if [ $j -eq $i ]
then
echo -e '\n'
fi
done
done
二、case语句
2.1、幸运抽奖
奖池观众:zhangsan,lisi,wangwu 总票数10,根据RANDOM变量随机产生标号,再根据编号挑选幸运观众,票数最多获胜。
#!/bin/bash
a=0
b=0
c=0
for((i=1;i<=10;i++))
do
num=$(expr $[RANDOM % 3+1])
namelist=$(cat /mnt/name.txt | grep "$num" | awk -F: '{print$2}')
case "$namelist" in
zhangsan)
let a++
;;
lisi)
let b++
;;
wangwu)
let c++
esac
done
echo "zhangsan:$a票,lisi:$b票 wangwu:$c票"
[root@localhost opt]# ./c.sh
zhangsan:2票,lisi5票 wangwu3票
[root@localhost opt]# ./c.sh
zhangsan:4票,lisi1票 wangwu5票
三、if多分支语句
3.1、最简单的计算器
#!/bin/bash
echo "----------------------------"
echo " 欢迎使用计算器 "
echo "----------------------------"
read -p "请输入第一个整数:" shu_1
read -p "选择你需要的运算符,加法(+),减法(-),乘法(x),除法(/),取余(%):" yun
read -p "请输入第二个整数:" shu_2
sum=0;
if [ $yun = "+" ]
then
sum=`expr $shu_1 + $shu_2`
echo $sum
elif [ $yun = "-" ]
then
sum=`expr $shu_1 - $shu_2`
echo $sum
elif [ $yun = "x" ]
then
sum=`expr $shu_1 \* $shu_2`
echo $sum
elif [ $yun = "/" ]
then
sum=`expr $shu_1 / $shu_2`
echo $sum
else
sum=`expr $shu_1 % $shu_2`
echo $sum
fi