循环
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 次"
立志如山 静心求实
浙公网安备 33010602011771号