Board logo

标题: shell简介入门之bash编程之流程控制(2) [打印本页]

作者: samwalton    时间: 2014-2-27 16:45     标题: shell简介入门之bash编程之流程控制(2)

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
  
                                         【责编:admin】

相关文章
Linux的Shell编程 bash的内部命令
Linux的Shell编程----bash的内部命令
全面分析讨论Linux Shell编程
Linux Shell编程基础
Linux的Shell编程 bash的内部命令
Linux的Shell编程 运行Shell程序的方法
Linux的Shell编程 Shell程序设计的流程控制
Linux的Shell编程 Shell基本语法
用Shell写DEAMON后台来控制安全访问的方法
几种常见shell简介




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0