Shell基础(九)流程控制二——循环语法

Shell基础(九)流程控制二——循环语法

for循环

for循环是固定循环,就是在循环时就已经知道要进行几次的循环,有时也把for循环称为计数循环,for循环的语法有下面两种。
语法一

for 变量 in 值1 值2 值3...
	do
		程序
	done

将值1、值2、值3…赋予变量,有几个值就循环几次。

:将目录下的.sh文件都导入到一个.txt文件中

#!/bin/bash

#将目录下所有.sh文件都写入一个.txt文件中

cd /root/sh
#进入操作目录

filename=$(ls *.sh)
for i in $filename
        do  
                echo " " >>filesum.txt
                cat $i >>filesum.txt
        done

语法二

for ((赋值;条件;运算))
	do
		程序
	done

例1:利用for循环计算1加到100的值

#!/bin/bash

#计算1加到100的和

for ((i=1;i<=100;i++))
        do  
                s=$(($s+i))
        done

echo $s

例2:将目录下的.sh文件都导入到一个.txt文件中

#!/bin/bash

#将目录下所有.sh文件都写入一个.txt文件中

cd /root/sh
#进入操作目录

filenum=$(ls -l *.sh | grep -v "总用量" | awk '{print $9}' | wc -l)
#计算目标文件数量
ls *.sh >>sh.log
#将文件名称导入到临时文件中

for ((i=1;i<=$filenum;i++))
        do  
                filename=$(cat sh.log | awk 'NR=='$i' {print}')
#提取文件名称
                echo " " >>filesum.txt
                cat $filename >>filesum.txt
        done

rm -rf sh.log
#删除临时文件

while循环

当条件成立时执行程序,条件不满足时终止循环。
语句格式

while [条件判断式]
	do
		程序
	done

:计算1加到100

#!/bin/bash

#计算1加到100

i=1
s=0

while [ $i -le 100 ]
#执行程序知道i大于100
        do
                s=$((s+i))
                i=$((i+1))
        done

echo "sum=$s"

until循环

和while循环不同,until循环在条件不成立时执行程序,直到达成条件终止循环。
语句格式

until [条件判断式]
	do
		程序
	done

ps:尚硅谷linux视频课程学习笔记

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值