现在的位置: 首页 > 综合 > 正文

Bash循环结构

2013年11月16日 ⁄ 综合 ⁄ 共 1098字 ⁄ 字号 评论关闭

![endif]-->!-->![endif]-->!-->![endif]-->!-->

Bash循环结构

一、for结构

For arg in list

Do

done

有限循环,次数取决于list元素的个数,内容取决于list元素的值

二、while结构

While []

Do

Done

条件循环,当条件为真时,执行一次循环

三、until结构

Until []

Do

done

条件循环,当条件为假时,才执行一次循环

四、case结构

Case arg in

);;

);;

Esac

条件分支,注意每个分支中,条件和结果用”)”分开,结束用两个封号”;;”

五、select结构

六、代码

#! /bin/bash

 

for item in "a" "b" "c" "d" "e" "f"

do

echo "$item"

done

 

#######for result

#a

#b

#c

#d

#e

#f

 

a="abc def ghi jkl mno pqr"

for argu in `echo $a`

do

echo "$argu"

done

######for result

#abc

#def

#ghi

#jkl

#mno

#pqr

 

b=10

c=20

while [ "$b" -lt "$c" ]

do

echo "b=$b"

let "b=$b+1"

done

#######while result

#b=10

#b=11

#b=12

#b=13

#b=14

#b=15

#b=16

#b=17

#b=18

#b=19

 

b=10

c=20

while [ "$b" -lt "$c" ]

do

   let "b=$b+1"

   if [ "$b" -eq "13" ]

   then

   continue

   fi

   echo "b=$b"

done

#######while result

#b=11

#b=12

#b=14

#b=15

#b=16

#b=17

#b=18

#b=19

#b=20

 

while [ "$var" != "end" ]

do

echo "While input variable"

read var

done

 

until [ "$var" != "end" ]

do

echo "Until input variable"

read var

done

 

 

echo "Hit a key, then hit return"

read var

case "$var" in

"1" ) echo "var is 1" ;;

"2" ) echo "var is 2" ;;

*   ) echo "var is other" ;;

esac

 

 

select var in "123" "456" "789"

do

echo "ok is $var"

break

done

 

七、关键点

1for中的list可以用命令替换

2read输入是var,而不是$var

3select很直观,直接将list中的所有输出菜单样,但有待进一步。

抱歉!评论已关闭.