Chinaunix首页 | 论坛 | 博客

14#

  • 博客访问: 170928
  • 博文数量: 48
  • 博客积分: 1910
  • 博客等级: 上尉
  • 技术积分: 445
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-27 10:38
文章存档

2012年(8)

2011年(2)

2010年(13)

2009年(25)

我的朋友

分类: Python/Ruby

2012-01-14 15:51:42


1.for循环


for
循环:是一个基本的循环结构. 它与C语言中的for循环结构有很大的不同
循环的每次执行中, arg将顺序的访问list中列出的变量.
for arg in [list]
do
command(s)...
done

注意点:


(1)
可以使用命令替换 来产生for循环[list] #for i in $(seq 1 5)

(2)
在一个for循环中忽略in [list]部分的话, 将会使循环操作$@ -- 从命令行传递给脚本的位置参数.

(3)
最好在[list]中的参数加上双引号是为了阻止单词分割.

(4)list
中的参数允许包含通配符 #for i in {1..5}

(5)
有一种非常像C语言for循环的语法形式. 需要使用(()).

 for ((a=1; a <= LIMIT ; a++)) #
双圆括号, 并且"LIMIT"变量前面没有"$".

 

2.case (in) / esac  在代码块中控制程序分支

·         对变量使用""并不是强制的, 因为不会发生单词分割.

·         每句测试行, 都以右小括号)来结尾.

·         每个条件判断语句块都以一对分号结尾 ;;.

·         case块以esac (case的反向拼写)结尾.

·         case结构也可以过滤通配符.

for example:

case "${2}" in

    unpack)

        ebuild_unpack

        ;;

    compile)

        ebuild_compile

        ;;

    all)

        ebuild_unpack

        ebuild_compile

        ;;

    *)

        echo "Please specify unpack, compile or all as the second arg"

        exit 1

        ;;

esac

 

阅读(1536) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~