zoukankan      html  css  js  c++  java
  • linux bash shell编程之参数变量和流程控制。

    参数变量:用来向脚本中传递参数

      我们在执行脚本的时候可以在其后面加入一些参数,通常来说这些参数与脚本中变量为对应关系。

        start.sh argu1 argu2

          引用方式:

            $1,,2,……${10}${11},……

            在脚本后边给两个文件路径分别对应文件中的$1,$2。并将值传递给$1,$2

              

          

           轮替:

            shift n:位置参数轮替。不给定个数时能默认为1.

              脚本后给了三个参数,使用shift踢掉两个,所以脚本中最后引用$1实际值为3

            

    特殊变量:

      $0:脚本文件路径本身

      $#:脚本参数的个数

      $*:所有参数

      $@:所有参数

      特殊变量示例

        

    代码执行顺序

    顺序执行:从脚本第一行逐条执行至最后一行。

    选择执行:

      代码只有一个分支:条件满足是执行

      代码有大于1个分级:只会执行满足条件的一个分支

    循环执行:代码被执行N次

      if:单分支、双分支、多分支

         单分支if

          if 测试条件;then

            body

          fi

        双分支if

          if 测试条件;then

            测试条件为真执行的body

          else

            测试条件为假执行的body

          fi

        多分支if

          if 测试条件1;then

            测试条件1为真执行的body

          elif 测试条件2;then

            测试条件2位真执行的body

          ……

          else

            所有条件不满足是执行的body

          fi

        if示例 

          添加用户

          

          比较大小

          

          奇偶判断

          

          判断文件类型

          

          写一个脚本列出可执行的操作,并让用户输入选项,每个选项对应一种操作

          

           用户类型判断

          

      

      for:用来遍历列表和控制变量

        列表生成方式:

          直接给出列表

          整数列表

            {start..end}

            seq [start [incremtal]] end

            返回列表的命令 如ls /etc/* 结果也保存在列表中

            等

          示例

          

        for VAR in LIST;do

          循环体

        done

        for示例:

            求1-100之和

        

    练习题:

        第二题

        

        第一题

        

        第三题

        

      while:当循环

        while CONDITION;do

          循环体(包含循环控制变量修正表达式以退出循环)

        done

      until:直到循环

        until CONDITION;do

          循环体(包含循环控制变量修正表达式以退出循环)

        done

      while练习:打印九九乘法表

      

      case:

        case支持glob风格的通配符

          *:任意长度的任意字符

          ?:任意单个字符

          []:范围内任意单个字符

          a|b:a或b

        case $VAR in

        PAT1)

          分支1

          ;;

        PAT2)

          分支2

          ;;

        ……

        *)

          以上所有条件均不满足是执行分支n

          ;;

        esac

        

        case示例 

        

        

      

      

  • 相关阅读:
    模态框获取内容jQuery
    jQuery支持链式编程,一句话实现左侧table页+常用筛选器总结
    jquery实现全选、取消反选、加JavaScript三元运算(三种法法实现反选)
    用dom1来实现,根据光标移动自动给表单加上背景色,光标移开自动去除背景色
    JavaScript两种创建标签的的方法,实现点击按钮让text自增
    vue前端路由搜索功能实现
    pycharm配置vue
    QT全局事件和绑定
    mysql事务、锁
    web前端上传文件按钮自定义样式
  • 原文地址:https://www.cnblogs.com/wxxjianchi/p/9164892.html
Copyright © 2011-2022 走看看