zoukankan      html  css  js  c++  java
  • shell入门之流程控制语句 分类: 学习笔记 linux ubuntu 2015-07-10 16:38 89人阅读 评论(0) 收藏


    1.case


    脚本:

    #!/bin/bash
    #a test about case
    case $1 in
       "lenve")  echo "input lenve";;
       "hello")  echo "input hello";;
       [a-zA-Z]) echo "It's a letter";;
       [0-9]) echo "It's a number";;
    esac

    执行效果:
    这里写图片描述


    2.while


    脚本(注意=两端不能有空格):

    #!/bin/bash
    #a test about while
    a=1
    while [ $a -lt 10 ]
    do
      echo "hello world!${a}"
      a=`expr $a + 1`
    done

    输出:
    这里写图片描述


    3.until循环类似于while循环,不同的是until是判断条件为false时才会执行


    #!/bin/bash
    #a test about until
    a=11
    until [ $a -lt 10 ]
    do
      echo "hello world!${a}"
      a=`expr $a + 1`
    done

    这是一个无限死循环,输出从hello world11到hello world无穷大。


    4.break与continue


    continue脚本

    #!/bin/bash
    #a test about continue
    a=1
    while [ $a -lt 10 ]
    do
      if [ $a -eq 5 ]
      then
       a=`expr $a + 1`
       continue
      else
      echo "hello world!${a}"
      fi
      a=`expr $a + 1`
    done

    结果:

    这里写图片描述

    break脚本:

    #!/bin/bash
    #a test about break
    a=1
    while [ $a -lt 10 ]
    do
      if [ $a -eq 5 ]
      then
       a=`expr $a + 1`
       break
      else
      echo "hello world!${a}"
      fi
      a=`expr $a + 1`
    done

    运行结果:
    这里写图片描述


    5.shift指令,参数左移,每执行一次,参数序列顺次左移一个位置,$#的位置减1。此指令可用来分别处理每个参数,移出去的参数不可再用。


    一个求和的例子:

    #!/bin/bash
    #a test about shift
    if [ $# -le 0 ]
    then
    echo "there is no parameters"
    exit 0
    fi
    sum=0
    while [ $# -gt 0 ]
    do
      sum=`expr $sum + $1`
      shift
    done
    echo $sum

    千万注意=两端不能有空格
    运行结果:
    这里写图片描述

    版权声明:本文为博主原创文章,未经博主允许不得转载。若有错误地方,还望批评指正,不胜感激。

  • 相关阅读:
    keepalvied虚拟ip安装设置
    mysql 主从,主主,主主复制时的主键冲突解决
    mysql备份,知识点
    mysql自定义函数语法
    sql之left join、right join、inner join的区别
    mysql 日志文件mysql-bin文件清除方法,和mysql-bin相关文件的配置
    mysql日志总结
    并查集 专题总结
    最短路径 专题总结
    Dancing Links 专题总结
  • 原文地址:https://www.cnblogs.com/lenve/p/4646275.html
Copyright © 2011-2022 走看看