码迷,mamicode.com
首页 > 系统相关 > 详细

shell选择语句、循环语句

时间:2017-09-10 12:39:41      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:declare   判断   可选参数   like   命令行参数   imp   continue   退出   null   

判断语句:
  if 判断条件
  then
    语句
  [elif]
    [语句]
  ...
  [else
    语句]
  fi
  
  #!/bin/bash
  if [ $# -eq 0 ]
  then
    echo "Error"
    echo "You can use this COMMAND like Command file_name"
    exit 4
  fi

  TYPE=`file $1 | cut -d‘ ‘ -f2`

  echo $1 is a $TYPE


  case语句:
  case 测试值 in
  选项1)
    ...
    ;; 
  选项2)
    ...
    ;;

  ...

  *)
    ...
  esac
  
  #!/bin/bash
  # This is a simple test for case
  #
  case $# in
  0)
    echo "No option"
    ;;
  1)
    echo "You used $# option"
    ;;
  2)
    echo "You use $# options"
    ;;
  *)
    echo "Options is too ..."
  esac

循环语句:
    for循环:
      for I in 参数可能性列表
      do
        循环体
      done
     
    #!/bin/bash
  #
  declare -i SUM=0;
  declare -i I;

  for I in {1..100}
  do
    let SUM+=$I;
  done
  
  echo "SUM = $SUM"
     
      列表到的生成:
          {m..n}: m到n的整数列表
          seq 起始数 步径长度 结束数:默认步径长度为1,起始数为1,起始数、步径长度可以省略,结束数不能省略
     
    while循环:
      while 循环条件
      do
        循环体
      dione
     
    #!/bin/bash
  #
  declare -i SUM=0;
  declare -i I=1;

  while [ $I -le 100 ]
  do
    let SUM+=$I
    let I++
  done

  echo "SUM = $SUM"
  
     
    until循环:
      until 循环条件
      do
        循环体
      done
     
    #!/bin/bash
  #
  echo "Enter username: "
  read user
  until who | grep "$user" &> /dev/null
  do
    sleep 30
  done

  echo "$user is on"
     
    对于while循环,只要满足循环条件,就会继续循环
    对于until循环,只要循环条件未成功结束,就会执行循环
    实际上until循环比while循环用的少,不过如果是在等待某个事件的发生,它就很有用了
   

break: 用于退出循环
continue:用于提早开始下一段重复的循环
break和continue命令都接受可选的数值参数,可分别用来指出要中断或继续多少个被包含的循环。

shift:它用来处理命令行参数时,一次向左位移一位(或更多位),在执行shift时,原来的$1会消失,被$2取代,$2被
       $3取代,以此类推,而$#的值也会逐次减少,shift还接受一个可选参数,也就是一次移动几位,默认为1

shell选择语句、循环语句

标签:declare   判断   可选参数   like   命令行参数   imp   continue   退出   null   

原文地址:http://www.cnblogs.com/lnlin/p/7500590.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!