除了上述的方法之外,for 回圈还有另外一种写法!语法如下:
for (( 初始值;限制值;运行步阶))
do
程序段
done
这种语法适合於数值方式的运算当中,在 for 后面的括号内的三串内容意义为:
- 初始值:某个变量在回圈当中的起始值,直接以类似 i=1 配置好;
- 限制值:当变量的值在这个限制值的范围内,就继续进行回圈。例如 i<=100;
- 运行步阶:每作一次回圈时,变量的变化量。例如 i=i+1。
值得注意的是,在『运行步阶』的配置上,如果每次添加 1 ,则可以使用类似『i++』的方式,亦即是 i 每次回圈都会添加一的意思。好,我们以这种方式来进行 1 累加到使用者输入的回圈吧!
#!/bin/bash
#Try do calculate 1+2+....+${your_input}
read -p "Please input a number, I will count for 1+2+...+your_input: " nu
s=0
for (( i=0; i<=$nu; i=i+1))
do
s=$(($s+$i))
done
echo "The result of '1+2+3+...+$nu' is ==> $s"
执行结果:
[oracle@99bill-as9 zy]$ sh calc.sh
Please input a number, I will count for 1+2+...+your_input: 99
The result of '1+2+3+...+99' is ==> 4950