首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

高级bash编程指南(四)

作者:  时间: 2011-03-16

一:循环和分支

1.

for planet in "Mercury 36" "Venus 67"

do

  set --$planet

  echo "$1  $2,000,000 miles from sun "

done

exit 0

2.当一个for循环中忽略in [list]部分,将会使循环操作$@

3.使用命令替换来产生循环的【list】

NUMBERS=“9 8 7 5”

for number in `echo $NUMBER`

4.C风格for循环

for ((a=1,b=1;a<LIMIT;a++,b++));do

echo -n "$a"

done

5.C风格while循环

while (( a<=LIMIT ));do

echo -n "$a"

((a+=1))

done

二:嵌套循环

三:循环控制

1.break和continue类似于C语言,但是不同之处是break和continue

后面可以加参数N,指定跳出N层循环。

四:测试与分支

1.对变量使用“”可以防止单词分割。

2.read Keypress

case "$Keypress" in

[[:lower:]] )  echo "Lowercase letter";;

[[:upper:]] )  echo "Uppercase letter";;

[0-9]  )  echo "Digit";;

*  )  echo "......."

esac

[[:lower:]]POSIX风格,[a-z]也可以,但是在某些

linux发行版中不能够正常工作。

3.  select var [in list]

当忽略了in list列表,那么select命令将会使用传递到脚本的命令行参数($@),或者是函数参数(在函数中的时候)

select var [in list]

do

command

break  #没有break,将一直循环

done