- for
- while
- if
- case
1. for用法1
for 变量 in 值1 值2 值3..;do
执行语句
done
-
用法2
for 变量 `命令`;do # 可以引用命令执行结果 执行语句 done
-
用法3
for ((初始值;循环控制;变量变化));do 执行语句 done #C语言风格的for循环用法
for循环示例(1+2+3+..+100=?)
#!/bin/bash
sum=0 # 初值为0
for ((i=1;i<=100;i++));do
sum=$(( $sum + $i)) # 初值+i 并刷新sum值
done
echo "1+2+3+..+100=$sum"
-
while循环,重复次数是利用一个条件来控制是否继续执行这个语句,为了避免死循环,必须保证循环体中包含循环出口条件(存在退出状态)
#!/bin/bash sum=0 i=1 # sum i 赋初值 while (( i<=100));do #进入循环体,每循环一次判断一次i的值是否符合(( )) 的条件 let "sum+=i" let "i+=2" done echo "sum=$sum"
-
无条件循环
while true;do 执行语句 done # 这个循环语句永远不会跳出,无论什么情况下while判断语句都为真,都会继续行“执行语句”
相反,对比while循环,until循环是“满足条件就不执行” 以1+2+3+..+100=?为例
until [ $i -gt 100];do # 当 i 的值大于100时 sum=$(($sum+$i))
i+$(($i+1))
done
echo "$sum"
if语句,跟case比较像 ,也是条件判断语句,逻辑比较简单
#!/bin/bash
read -p "Please Enter a Number:" number # 读取终端输入的数字
if [ $number -eq 1 ];then
echo "the number is 1 " # 如果输入数字等于 1 ,输出此句
elif [ $number -eq 2 ]
echo "the number is 2 " # 如果输入数字等于 2 ,输出此句
elif [ $number -eq 3 ]
echo "the number is 3" # 如果输入数字等于 2 ,输出此句
else
echo "the number is greater than 3 " # 如果输入的数字都不满足,则输出此句
fi
case语句
#!/bin/bash
read -p "Please Enter a Number:" number
case $number in
1) echo "the number is 1";;
2) echo "the number is 2 ";;
3) echo "the number is 3 ";;
*) echo "the number is greater than 3"
esac # 很容易理解,而且看起来比if 简洁一些,