Linux Shell编程(16)——循环

循环就是重复一些命令的代码块,如果条件不满足就退出循环.

for loops


for arg in [list]



这是一个基本的循环结构.它与C的for结构有很大不同.
for arg in [list]
do 
   command(s)... 
done




在循环的每次执行中,arg将顺序的存取list中列出的变量.
for arg in "$var1" "$var2" "$var3" ... "$varN"  
# 在第1次循环中, arg = $var1	    
# 在第2次循环中, arg = $var2	    
# 在第3次循环中, arg = $var3	    
# ...
# 在第N次循环中, arg = $varN


# 在[list]中的参数加上双引号是为了防止单词被不合理地分割.



list中的参数允许包含通配符.

如果do和for想在同一行出现,那么在它们之间需要添加一个";".
for arg in [list] ; do 

#!/bin/bash
# 列出所有的行星名称.


for planet in Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune Pluto
do
  echo $planet  # 每个行星被单独打印在一行上.
done


echo
for planet in "Mercury Venus Earth Mars Jupiter Saturn Uranus Neptune Pluto"
# 所有的行星名称打印在同一行上.
# 整个'list'只有一个变量,用""封成一个变量.
do
  echo $planet
done


exit 0



while
这种结构在循环的开头判断条件是否满足,如果条件一直满足,那就一直循环下去(0为退出码[exit status]).与for 循环的区别是,这种结构适合用在循环次数未知的情况下.


while [condition]
do 
  command... 
done


和for循环一样,如果想把do和条件放到同一行上还是需要一个";".


while [condition] ; do


until
这个结构在循环的顶部判断条件,并且如果条件一直为false那就一直循环下去.(与while相反).


until [condition-is-true]
do 
  command... 
done


注意: until循环的判断在循环的顶部,这与某些编程语言是不同的.


与for循环一样,如果想把do和条件放在一行里,就使用";".


until [condition-is-true] ; do

posted on 2014-09-30 07:52  三少爷的剑123  阅读(136)  评论(0编辑  收藏  举报

导航