循环
一、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后面也可以接命令结果或者数组