for格式一:
for 变量名称(前面没有$) in 范围
do
命令序列
done
#!/bin/bash
for i in {1..10}
do
echo $i
done
for格式二:
for (( 表达式1;表达式2;表达式3 )) ; do
命令序列
done
#!/bin/bash
for(( i=0;i<=5;i++ )) ; do
echo $i
done
while格式
(( ))用作整数运算。在 bash 中,(( ))的整数运算符号大致有这些:
-
-
- * / 加、减、乘、除
-
- % 余数运算
- & | ^ ! AND、OR、XOR、NOT运算
在(( ))中的变量名称也可以在其前面加 符号
while [判断条件]
do
命令序列
done
#!/bin/bash
i=0
odd_sum=0
even_sum=0
while [ $i -lt 100 ]
do
let i++
if [[ $(($i % 2)) -eq 0 ]]
then
even_sum=$(( $i+$even_sum ))
else
odd_sum=$(( $i+$odd_sum ))
fi
done
echo "奇数累计和 ${odd_sum} 偶数的累计和: ${even_sum}"
until循环
until [条件判断]
do
命令序列
done
until [ 1 -eq 2 ]
do
echo "循环了"
done
#!/bin/bash
a=$(( RANDOM%10+1))
echo "正确数字是 " $a
times=0
for(( ; ; ))
do
read -p "输入数字" num
let times++
if [[ $num -eq $a ]]
then
echo "猜对了!"
break
elif [[ $num -gt $a ]]
then
echo "数字偏大"
elif [[ $num -lt $a ]]
then
echo "数字偏小"
fi
done
echo "一共猜了 $times 次"