首页 > 代码库 > bash编程语法总结,顺序,循环,选择

bash编程语法总结,顺序,循环,选择

bash编程语法

    首先,我们先说下bash语法都有哪些内容,随后我会随后一一去分析,加强我记忆的同时也分享下给家。


     linux bash脚本的基本内容构架如下


#!/bin/bash   -----> 每个bash脚本第一行必须要写的,告诉系统这是个bash脚本。    

#              -----> #为注释的标志符号,#开头的行都是脚本不执行的,仅用作注释  

    命令段     -----> 脚本要执行的具体命令,来完成相应的功能


bash编程为过程式编程语言,有3种主要语句即为:


顺序执行语句:最简单的,至上而下执行语句,工作模式为:

                #!/bin/bash

                #(可有可无)

                    语句1

                    语句2

              先执行语句1,再执行语句2,例如:

    创建脚本 bash1.sh

    wKiom1Pdu7HycSvmAAAUT6yyAQ4129.png

    输出结果为:hello !

            hao are you

    


循环执行语句:有3种,for循环,while循环,until循环

基本结构如下:()内的内容就是变量要依次读出的内容,并要放到循环体中去执行的

            for 变量 in (列表); do

                循环体

            done

        循环体中的变量依次从列表中读取数据,知道列表中的数据读取完为止,例如:

    我们求 1到100之间的所有整数的和为例,

    创建脚本 bash2.sh  (for循环)

        wKiom1PdvZjCjGtYAAAZEZHMAE4718.png  

        

        图中,i为变量(bash编程中,变量无需提前定义),对变量取值要用$,如对i取值:$i

 但是,我们对于图中的sun变量为什么要定义且赋予值0呢?,因为我们要做累加运算,必须有个初值,比如你要算账的话,必须知道算账之前的账单状态,才能得出结果啊,也就是数据的初始化。

        {1..100}表示,1到100的所有整数1,2,3........99,100

        输出结果为5050,你可以自己验证下

  

    while循环样例

        while [条件测试]; do

            循环体

        done

        wKioL1PdxKvwNPytAAAaZium7Jk022.png 

        上图中,counter=1,为条件测试的变量counter的初始值,

                let counter++ , 为循环体每执行一次,变量counter就自动+1,直到不满足测试条件为止,本题中,变量counter直到大于100,不满足测试条件,循环结束,输出最后结果为5050   



    until循环:基本格式:

        until [条件测试]; do  #until的测试条件,为真跳出循环,为假则执行语句(看清楚)

                循环体

        done

   我们依然以1+2+3+.....+99+100为例:

    wKiom1Pdxq3w3YTFAAAWtzDCdf0888.png

    看到图中的测试条件了没有,while循环时,判断为 -ge 意思 小于等于,

                            until循环时,判断为 -gt 意思 大于,相反,这个从单词意思上就能看的出来,是不是这样啊。    


这里我们说到了比较符号,那就补充下吧,

bash编程中测试类型有:

整型测试:整数的比较

基本模式为: [ $变量1 -gt $变量2 ]

    -gt 大于  

    -lt 小于

    -ge 大于等于

    -le 小于等于

    -ne  等于

    -ne  不等于

字符测试:(分为单目和双目)字符串的比较

    双目:  

        >

        <

        =

        >=

        <=

    单目:

        -n String: 是否不空,不空则为真,空则为假

-z String: 是否为空,空则为真,不空则为假

    


选择语句:简单比放下,你选择

        wKiom1PdvrqyRiD5AAANyAwhhIQ841.png

        从A开始,选择B,则执行1,选择C,则执行2

      选择语句一般有以下几种,

单分支if语句

        最基本的格式:

            if [条件测试];then    #里面的【条件测试】如果为真,则执行语句1,为假执行语句2

                语句1

            fi

            case

        我们来看下选择语句的样题:

        假如:如果我们输入一个整数数a,如果此整数a为偶数,则输出A,其他则退出

        wKiom1PdypDgzEy7AAAUP0A_ev8320.png

        如果输入2,则输出 A,输入3,则退出脚本,不显示内容        

        上图中,让用户输入一个内容,的语句格式为: read  -p  提示内容  变量

        来判断一个数是否为偶数,我们用取余运算,但是发现了没有,$[$num%2],我在$num%2的前面又加了一个$,意思为,取运算完成后的数值与0进行比较,不加就会出现错误的哦

        

双分支if语句,

            基本格式为:

                if [条件测试];then

                    语句1

                else

                    语句2

                fi

        条件测试满足即为真时,执行语句1,否则执行语句2

        样例:如果我们输入一个整数数a,如果此整数a为偶数,则输出A,否则输出B

            wKioL1PdzWWBxr7qAAAVBwUTBH8649.png

            上图中,如果你输入的为2,则输出A,输入的为3,则输出B,你可以自己试下,

        还有个多分支if语句:

            格式为:

            if [测试条件1]; then

                    语句1

            elif [测试条件2]; then

                    语句2

            elif [测试条件3]; then

                    语句3

                    ......

                    ......

            else

                    语句4

            fi

            意思为,符合测试条件1,执行语句1,符合测试条件2,执行语句2,依次类推。

        例如,我们输入一个数,如果输入1,显示A;输入2,显示B;输入3,显示C;输入4,显示D;输入其他内容,则直接退出,并且显示内容,请输入(1|2|3|4),wKiom1PdzkbhskjXAAAisxSRhSU556.png

  最后还有个case语句,也输入选择语句的一种:

    格式如下: 

    case 变量  in

     条件1)

            语句1

            ;;

     条件2)

            语句2

            ;;

     条件3)

            ...

            ;;

     esac

    举个例子吧,就用case语法写一下上题那个if选择语句,

    wKiom1Pd1E2CS5onAAAgo2g87hA690.png

    结果和if选择样题是一样的,我测试过啦,才发出来的


bash中主要用到的基本内容就如上啦,其中有些,例如逻辑运算,变量的命名以及规则等,没有做详细介绍,有需要的可以问下,学而时习之,不辞下问都懂得。

本文出自 “linux小盆友” 博客,请务必保留此出处http://ny0716.blog.51cto.com/9154254/1534955