码迷,mamicode.com
首页 > 系统相关 > 详细

shell脚本 for循环、break跳出循环、continue结束本次循环

时间:2018-02-08 11:10:17      阅读:521      评论:0      收藏:0      [点我收藏+]

标签:案例   yun   循环   文件   sleep   变量   top   回车符   while   

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

shell脚本 for循环、break跳出循环、continue结束本次循环

标签:案例   yun   循环   文件   sleep   变量   top   回车符   while   

原文地址:http://blog.51cto.com/3622288/2070074

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!