shell简介入门之bash编程之流程控制(2)

来源: LUPA开源社区
发布时间: 2007-05-27 05:33 版权申明

字体:


文章来源于http://www.lupaworld.com

  F::
  while
  语法如下:
  while(condition)
  do
   commands
  done
  例如:
  #!/bin/bash
  number=0
  while(test $number -lt 10)
   do
   echo "$number\c"
   number=`expr $number+1`
  done
  echo
  -----------------------------------------
  结果如下:
  0123456789
  G::
  until
  语法如下:
  until(condition)
  do
   commands
  done
  它和while的不同只在于while是在条件为真时执行循环,而until是在条件为假时执行循环。
  H::
  break及continue
  这两者是用于for,while,until等循环控制下的。break会跳到done后才执行,而continue会跳至
  done后才执行,而continue会跳至done执行,继续执行循环。
  I::
  case
  语法如下:
  case str in
   pat1) commands1;;
   pat2) commands2;;
   pat3) commands3;;
  esac
  而pat除了可以指定一些确定的字符串,也可以指定字符串的集合,如下:
  * 任意字符串
  ?   任意字符
  [abc]  a,b,c三字符其中之一
  [a-n]  从a到n的任一字符
  │    多重选择
  例如:
  test8.sh
  -----------------------------------------------------------
  #!/bin/bash
  echo `enter A,B,C:"
  read letter
  case $letter in
  A│a) echo `you entered A.`;;
  B│b) echo `you entered B.;;
  C│c) echo `you entered C,;;
  *) echo `not a,b,c`;;
  esac
  ---------------------------------------------------------------------- 
  J::
  函数
  格式如下:
  function-name()
  {
   commands
  }
   <br>  而要调用此函数,就像在命令行下直接用命令一般。 <br>  <xmp> <br>  test1() <br>  &#123; <br>   echo`this is fuction 1` <br>  &#125; <br>  test2() <br>  &#123; <br>   echo`this is fuction2` <br>  &#125; <br>  test2 <br>  test1 <br>  ------------------------------------------------------ <br>  运行结果: <br>  this is fuction2 <br>  this is fuction1 <br>  下面是一些常用的shell例子: <br>  例1 给一批文件改名。 <br>  \ls *.c* sed `s/\(.*\).C\(.*\)/mv & \1/` │sh <br>  或者 <br>  for f in *.foo; <br>  fo <br>  base=`basename &#36;f. foo` <br>  mv &#36;f &#36;base.bar <br>  done <br>  例2 将大写文件名发亮写为小心改为小安下心来文件名。 <br>  for f in *;do <br>   mv &#36;f `echo &#36;f│tr `[a-z] ` ][a-z] <br>  done <br>  <br>   <div style="display:none">文章来源于http://www.lupaworld.com</div> <div id="faceing"></div> <script language="javascript" type="text/javascript" src="http://www.lupaworld.com/include/js/ajax_code.js"></script> <script language="javascript" type="text/javascript" src="http://www.lupaworld.com/include/js/face.js"></script> <br> 声明:LUPA开源社区刊登此文只为传递信息,并不表示赞同或者反对。 <a href="http://www.lupaworld.com/bbs/forum-329-1.html"><img src="http://www.lupaworld.com/images/new/canyu.gif" /></a> <br> <hr> </div> <div class="pages"></div> </div> <div id="comment" class="cleanblock"> <h3><a href="http://www.lupaworld.com/?action-viewstutorialcomment-itemid-6457" class="more" target="_blank">查看全部评论(0)</a>我来说两句 <a href=http://www.lupaworld.com/public/guest/ target=_blank>直接向LUPA提出您的宝贵建议</a></h3> <form id="postcomm" action="http://www.lupaworld.com/index.php?action-viewstutorialcomment-itemid-6457-php-1" method="post" target="_self"> <p id="xspace-rates" class="xspace-rates0"> <label>评分</label> <a id="xspace-rate-5" href="javascript:;" onclick="setRate('-5');" target="_self">-5</a> <a id="xspace-rate-3" href="javascript:;" onclick="setRate('-3');" target="_self">-3</a> <a id="xspace-rate-1" href="javascript:;" onclick="setRate('-1');" target="_self">-1</a> <a id="xspace-rate0" href="javascript:;" onclick="setRate('0');" target="_self">-</a> <a id="xspace-rate1" href="javascript:;" onclick="setRate('1');" target="_self">+1</a> <a id="xspace-rate3" href="javascript:;" onclick="setRate('3');" target="_self">+3</a> <a id="xspace-rate5" href="javascript:;" onclick="setRate('5');" target="_self">+5</a> <input type="hidden" id="xspace-ratevalue" name="rates" value="0" /> </p> <p><label for="message">内容:</label><textarea id="message" name="message" style="vertical-align: text-top; width: 80%; height: 6em;"></textarea></p> <p><button type="submit" id="submitcomm" name="submitcomm" value="submit" style="margin-left: 2.8em;">发表评论</button></p> <input type="hidden" id="itemid" name="itemid" value="6457" /> </form> </div> </div> </div> <!-- /Content --> <script language="javascript" type="text/javascript"> <!-- addMediaAction('articlebody'); addImgLink("articlebody"); //--> </script> <script src="http://go.lupaworld.com/ajax.js" type="text/javascript" language="javascript"></script> <!-- Footer --> <div id="footer"> <p> <a href="http://www.lupaworld.com" target="_self">LUPA开源社区</a> | <a href="http://www.lupaworld.com/?action_site_type_panel" target="_self">快捷面板</a> | <a href="http://www.lupaworld.com/?action_site_type_map" target="_self">站点地图</a> | <a href="http://www.lupaworld.com/?action_site_type_link" target="_self">友情链接</a> | <a href="http://www.lupaworld.com/category_245.html" target="_self">联系我们</a></p> <p> Powered by <a href="http://www.lupaworld.com" target="_blank"><strong>LUPA</strong></a> <em>4.0</em> © 2005-2008 </p> <p><a href="http://www.miibeian.gov.cn" target="_blank">浙ICP备06002895号</a><br /></p> </div> <!-- /Footer --> <script type="text/javascript" src="http://js.tongji.cn.yahoo.com/732157/ystat.js"></script><noscript><a href="http://tongji.cn.yahoo.com"><img src="http://img.tongji.cn.yahoo.com/732157/ystat.gif"/></a></noscript> </div> </body> </html>