20.10 for循环
- 语法:for 变量名 in 条件; do ...; done
;案例1
[root@qingyun-01 shell]# cat for.sh
#!/bin/bash
sum=0
for i in `seq 1 100`
do
sum=$[$sum+$i]
done
echo $sum
#输出的结果
[root@qingyun-01 shell]# sh for.sh
5050
[root@qingyun-01 shell]# cat for2.sh
#!/bin/bash
cd /etc/
for a in `ls /etc/`
do
if [ -d $a ]
then
ls -d $a
fi
done
#for循环是以空格、回车符作为分割符分割。
20.11-20.12 while循环
- 语法 while 条件; do ...; done
;案例1
[root@qingyun-01 shell]# cat while.sh
#!/bin/bash
while :
do
load=`w|head -1 |awk -F 'load average: ' '{print $2}'| cut -d . -f1`
if [ $load -gt 10 ]
then
top|mail -s "load is high:$load" admin@163.com
fi
sleep 30
done
;案例2
[root@qingyun-01 shell]# cat while2.sh
#!/bin/bash
while :
do
read -p "Please input a number:" n
if [ -z "$n" ]
then
echo "You did not enter the number."
continue
fi
n1=`echo $n|sed 's/[0-9]//g'`
if [ ! -z "$n1" ]
then
echo "You can only enter a pure number."
continue
fi
break
done
echo $n
20.13 break跳出循环
[root@qingyun-01 shell]# cat break.sh
#!/bin/bash
for i in `seq 1 5`
do
echo $i
if [ $i -eq 3 ]
then
break
fi
echo $i
done
echo aaaaaa
20.14 continue结束本次循环
[root@qingyun-01 shell]# cat continue.sh
#!/bin/bash
for i in `seq 1 5`
do
echo $i
if [ $i -eq 3 ]
then
continue
fi
echo $i
done
echo $i
20.15 exit退出整个脚本
[root@qingyun-01 shell]# cat exit.sh
#!/bin/bash
for i in `seq 1 5`
do
echo $i
if [ $i -eq 3 ]
then
exit
fi
echo $i
done
echo $i
原文链接:https://www.f2er.com/bash/388765.html