龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 操作系统 > LINUX系统 >

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

时间:2011-03-20 22:37来源:未知 作者:admin 点击:
分享到:
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

  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

  }

  

  而要调用此函数,就像在命令行下直接用命令一般。

  

  test1()

  {

   echo`this is fuction 1`

  }

  test2()

  {

   echo`this is fuction2`

  }

  test2

  test1

  ------------------------------------------------------

  运行结果:

  this is fuction2

  this is fuction1

  下面是一些常用的shell例子:

  例1 给一批文件改名。

  \ls *.c* sed `s/\(.*\).C\(.*\)/mv & \1/` │sh

  或者

  for f in *.foo;

  fo

  base=`basename $f. foo`

  mv $f $base.bar

  done

  例2 将大写文件名发亮写为小心改为小安下心来文件名。

  for f in *;do

   mv $f `echo $f│tr `[a-z] ` ][a-z]

  done

  

  

收藏文章
表情删除后不可恢复,是否删除
取消
确定
图片正在上传,请稍后...
评论内容为空!
还没有评论,快来抢沙发吧!
按钮 内容不能为空!
立刻说两句吧! 查看0条评论
精彩图集

赞助商链接