Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4241932
  • 博文数量: 1148
  • 博客积分: 25453
  • 博客等级: 上将
  • 技术积分: 11949
  • 用 户 组: 普通用户
  • 注册时间: 2010-05-06 21:14
文章分类

全部博文(1148)

文章存档

2012年(15)

2011年(1078)

2010年(58)

分类: Python/Ruby

2011-01-19 11:33:17

这本部分中,我们学到如下的命令:
1. break命令
2:冒号命令
3.  continue命令

1.break命令

你可以用这个命令在控制条件未满足之前,跳出for while until 循环
在默认情况下,break只跳出一层循环

  1. #!/bin/sh

  2. rm -rf fred*

  3. echo > fred1      #echo > fred1  建立文件
  4. echo > fred2
  5. mkdir fred3       # 新建文件夹
  6. echo > fred4

  7. for file in fred*
  8. do
  9.     if [ -d "$file" ]
  10.     then
  11.         break
  12.     fi
  13. done

  14. echo first directory starting fred was $file
  15. rm -rf fred*
  16. exit 0




2.冒号(:)命令

冒号命令是一个空命令。它偶尔被用于简化条件逻辑,相当与true的别名。
由于他是内置命令,所以他运行比ture块,但是他的 可读性较差

使用地方:
1.在while中:
    while :实现了一个无限循环,代替了更加常见的while true

2.变量的条件设置中
  
  1. : ${var:=value}
如果没有:,shell将试图把$var当作一条命令来处理

在一些shell脚本中,主要在旧的脚本中,看到冒号被用来在一行的开头来表示一个注释,
但是现代的注释,都用#,这样执行效率更高

一个简单的例子,其中 冒号 被用作  空命令
  1. #!/bin/sh

  2. rm -f fred

  3. if [ -f fred ]
  4. then
  5.       :            #空命令
  6. else
  7.     echo file fred did not exits

  8. fi
  9. exit 0



3 continue 命令

非常类似c语言中的
  1. #!/bin/sh

  2. rm -rf fred*

  3. echo > fred1
  4. echo > fred2
  5. mkdir fred3
  6. echo > fred4

  7. for file in fred*
  8. do
  9.     if [ -d "$file" ]   #假如检测到fred3,是个目录,continu返回到 for file in fred*,不向下执行了
  10.     then
  11.         echo "skipping directory $file"
  12.         continue
  13.     fi
  14.     echo file is $file
  15. done

  16. rm -rf fred*
  17. exit 0





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