Shell脚本笔记(八)循环

匿名 (未验证) 提交于 2019-12-03 00:39:02

循环

一、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=1000 i=15 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=1000 i=15 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=0 while read line do     echo $line done

方法二:使用cat读文件

cat filePath | read line do      cmd done

方法三:结尾重定向

while read line do     cmd done<$1

二、for与select循环

for循环语法:

语法一:

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

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

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

例子:

for num in 5 4 3 2 1 do     echo $num done

等同于

for num in {5..1} 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 777 bear do                                      echo $name                      done                               

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

原文:https://www.cnblogs.com/Shadowplay/p/9264052.html

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!