Shell编程-流程控制-for、while和until循环
for循环
1)for 变量 in 值1 值2 值3
do
echo "This time is $time"
done
例子:
Ⅰ)打印时间的脚本
#!/bin/bash
#author:hhh
for time in morning noon afternoon evening
do
echo "This time is $time"
done
循环4次
Ⅱ)
批量解压缩文件
#!/bin/bash
#author:hhh
cd /lamp
ls *.tar.gz > ls.log
for i in $(cat ls.log)
do
tar -zxf $i &>/dev/null
done
rm -rf /lamp/ls.log
1)for 变量 in 值1 值2 值3
do
echo "This time is $time"
done
例子:
Ⅰ)打印时间的脚本
#!/bin/bash
#author:hhh
for time in morning noon afternoon evening
do
echo "This time is $time"
done
循环4次
Ⅱ)
批量解压缩文件
#!/bin/bash
#author:hhh
cd /lamp
ls *.tar.gz > ls.log
for i in $(cat ls.log)
do
tar -zxf $i &>/dev/null
done
rm -rf /lamp/ls.log
2)for((初始值;循环控制条件;变量变化))
do
程序
done
例子:从1加到100
#!/bin/bash
#author:hhh
s=0
for((i=1;i<=100;i=i+1))
do
s=$(($s+$i))
done
while循环
不定循环,也称条件循环
while [条件判断式]
do
程序
done
例子:
从1加到100
#!/bin/bash
#author:hhh
s=0
i=1
while [ $i -le 100 ]
do
s=$(($s+$i))
i=$(($i+1))
done
不定循环,也称条件循环
while [条件判断式]
do
程序
done
例子:
从1加到100
#!/bin/bash
#author:hhh
s=0
i=1
while [ $i -le 100 ]
do
s=$(($s+$i))
i=$(($i+1))
done
until循环
与while循环相反,until循环时只要条件判断式 不成立则循环,并
执行循环程序。当条件成立,则终止循环。
until [条件判断式]
do
程序
done
例子:
从1加到100
#!/bin/bash
#author:hhh
s=0
i=1
until [ $i -gt 100 ]
do
s=$(($s+$i))
i=$(($i+1))
done
与while循环相反,until循环时只要条件判断式 不成立则循环,并
执行循环程序。当条件成立,则终止循环。
until [条件判断式]
do
程序
done
例子:
从1加到100
#!/bin/bash
#author:hhh
s=0
i=1
until [ $i -gt 100 ]
do
s=$(($s+$i))
i=$(($i+1))
done