linux shell常用循环与判断语句(for,while,until,if)使用方法
shell的循环主要有3种,for,while,until
shell的分支判断主要有2种,if,case
一,for循环
#!/bin/bash forfilein$(ls/tmp/test/mytest|grepsh)//forin格式是shellfor的基本格式,根js的forin类似 do//循环开始你就把它当成{ echo$file done//循环结束你就把它当成} for((i=0;i<10;i++))//注意是双小括号,由于受其他语言的影响,很容易搞错 do echo-n$i done echo\//输出换行 foriin0123456789 do echo-n$i done echo\ foriin"0123456789"//这个根上面是有区别的,这个循环只循环了一次,双引号里面只是一个变量 do echo-n$i done exit0
二,while循环
#!/bin/bash i=0 while((i<10)) do echo$i ((i+=1)) done i=0 while[$i-lt10]//注意括号内侧二边的空格 do echo$i let"i+=1"//加1 done exit0
三,until循环
#!/bin/bash END_CONDITION=end until["$var1"="$END_CONDITION"]//读取的变量根设定的变量相等时退出循环,不然永远循环 do echo"Inputvariable#1" echo"($END_CONDITIONtoexit)" readvar1 echo"variable#1=$var1" echo done exit0
四,if语句
#!/bin/bash echo"Inputanumber#1" readnum echo"variable#1=$num" if[$num-lt60]//注意lt前面的-,很容易忘的 then echo"youarenotpass" elif[$num-lt70]&&[$num-ge60]//多个条件的判断 then echo"pass" elif[[$num-lt85&&$num-ge70]]//如果放在一起,要注意是双方括号,不要写成[$num-lt85&&$num-ge70] then echo"good" elif(($num<=100))&&(($num>=85))//对于有语言基础的人来说,这种写法让人觉得很舒服,不要忘了是双小括号 then echo"verygood" else echo"numiswrong" fi//if要有结束标签的,根XML很像,不闭合,就报错 exit0
五,case语句
#!/bin/sh case$1in start) echo"startok" ;;//注意一点,要注意是双分号 stop) echo"stopok" ;; restart) echo"restartok" ;; *) echo"noparam" ;; esac//注意闭合标签 exit0 [root@krlcgcms01forif]#shc1.shstop stopok
这篇文章就先介绍到这,下面将为大家分享更好的内容。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。