Shell脚本笔记(八)循环

循环

一、whlie和until循环

while循环基本语法:

while <条件表达式>
do
指令
done
#注意代码缩进

util循环基本语法:

until <表达式>
do
指令
done
#与while的区别:不成立时进入循环,成立时终止循环

注意while条件表达式跟if的区别:if后的表达式是形如'[ a -eq b ]'这样的表达式,此时返回0为真,while后跟(( a < b)),返回1时为真。

# !/bin/bash
sum=
i=
while ((sum>i)) #正确
do
((sum=sum-i))
echo "The sum now is $sum"
done
echo "The money is less than $i pls add it"
# !/bin/bash
sum=
i=
while [ $sum -gt $i ] #错误的写法
do
((sum=sum-i))
echo "The sum now is $sum"
done
echo "The money is less than $i pls add it"

使用while按行读文件:

方法一:

exec <FILE
sum=
while read line
do
echo $line
done

方法二:使用cat读文件

cat filePath | while read line
do
cmd
done

方法三:结尾重定向

while read line
do
cmd
done<$

二、for与select循环

for循环语法:

语法一:

for 变量名 in 变量取值列表
do
cmd
done

注意:"in 变量取值列表"可以省略,省略时相当于"in $@"

语法二(与C语言相识):

for((expr1;expr2;expr3))
do
cmd
done

例子:

for num in
do
echo $num
done

等同于

for num in {..}
do
echo $num
done

批量更改当前目录下的文件名:

# !/bin/bash
for n in `ls`
do
mv $n `echo $n|cut -d . -f1`.gif
done

select 循环语句主要用来打印菜单

# !/bin/bash
select name in tang jia pi bear
do
echo $name
done

in后面也可以接命令结果或者数组

上一篇:这十个代码习惯,程序员你得有


下一篇:Yii2 baisic版gii的使用和分页