20.10 for循环 20.11/20.12 while循环 20.13 break跳出循环 20.14 continue结束本次循环 20.15 exit退出整个脚本

本文介绍了Shell脚本中for循环、while循环的基本语法与使用案例,包括如何进行条件判断、如何利用break和continue控制循环流程,以及如何通过exit退出整个脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

20.10 for循环
20.11/20.12 while循环
20.13 break跳出循环
20.14 continue结束本次循环

20.15 exit退出整个脚本


for循环

格式:

for  变量名  in 条件

do

command

done

示例:把1-5的数字相加

#!/bin/bash
number=0                ---设置number变量=0
for i in `seq 1 5`            ---设置i变量序列为1-5
do    
          number=$[$number+$i]        --再次让number赋值等于  number+i的值
done
echo $number                    显示总数


下图是执行过程



示例:用在查找目录

#!/bin/bash
cd /etc/                --进入到目录

for a in `ls /etc/`            --设置变量a为 ls /etc/

do
   if [ -d $a ]            判断如果$a目录存在的话
then
   ls -d $a                ---显示出来
   fi

done

执行过程:



while循环

语法格式

while  条件;

do

command

done

示例;查看系统负载

#!/bin/bash
while :
do
    load=`w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1`        --设置变量load
    if [ $load -gt 10 ]                            --如果负载大于0
    then
        /usr/bin/sbin/mail.py xxx@qq.com "$load" "报警“     --发送邮件给用户(这里可以自己写一个发送邮件脚本)
    fi
    sleep 30                        --30秒后再次检查

done


关于load的变量分步解释:

w --查看负载


head -1    ---显示第一行


w|head -1|awk -F 'load average: ' '{print $2}'    ---load作分割 打印第二行         (即load为第一行)


w|head -1|awk -F 'load average: ' '{print $2}'|cut -d. -f1   --以.(点)作分割,分割第一段



break跳出循环

#!/bin/bash
for i in `seq 1 4`            --变量
do
echo $i
if [ $i -eq 3 ]                    --当i等于3
then
    break                        --跳出循环
fi
done
echo abcs        

执行过程:可以看到当i=3就跳出以下循环,直接运abc结束



continue结束本次循环

#!/bin/bash
for i in `seq 1 4`
do
echo $i
if [ $i -eq 3 ]
then
continue
fi
echo $i
done

echo abcs

执行过程:可以看到一个3,就没了。continue仅仅跳出本次循环,继续下一次循环



exit退出整个脚本

exit直接退出整个脚本

#!/bin/bash
for i in `seq 1 5`
do
    echo $i
    if [ $i == 3 ]
    then
        exit
    fi
    echo $i
done

echo aaaaaaa

执行过程:当i=3 直接退出脚本


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值