1.while最常见的一个作用就是while true
,他可以借助此命令达到 死循环
的作用,从而,将命令永远的执行下去!
[root@master shell]
#!/bin/bash
while true
do
uptime
sleep 1
done
[root@master shell]
10 :20 :54 up 4 min, 1 user, load average: 0.05 , 0.19 , 0.12
10 :20 :56 up 4 min, 1 user, load average: 0.05 , 0.19 , 0.12
10 :20 :57 up 4 min, 1 user, load average: 0.05 , 0.19 , 0.12
10 :20 :58 up 4 min, 1 user, load average: 0.05 , 0.19 , 0.12
^C
[root@master shell]# cat check_load2.sh
#!/bin/bash
#update the checking that the load of the machine
while true
do
uptime >>/tmp/uptime.log
usleep 1000000
done
//因为已经将输出结果做了重定向,所以标准输出屏幕上只会有一个光标在不停的闪动,而不会有任何的输出
[root@master shell]# cat /tmp/uptime.log
10 :24 :12 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :13 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :14 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :15 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :16 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :17 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :18 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :19 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :20 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
10 :24 :21 up 8 min , 1 user , load average: 0.00 , 0.10 , 0.10
2.执行其最本分的功能,按照某一条件进行循环
例1 :
[root@master shell]
#!/bin/bash
VAL1=10
while [ $VAL1 -gt 0 ]
do
echo $VAL1
VAL1=$[ $VAL1 - 1 ]
done
[root@master shell]
10
9
8
7
6
5
4
3
2
1
例2 :
[root@master shell]
#!/bin/bash
i=1
sum=0
while (( i<101 ))
do
(( sum=sum+i ))
(( i++ ))
done
echo "The total value is $sum "
[root@master shell]
The total value is 5050