美文网首页
Linux_Shell脚本编程之流程控制

Linux_Shell脚本编程之流程控制

作者: 让你变好的过程从来都不会很舒服 | 来源:发表于2021-07-07 11:05 被阅读0次

    if判断

    基本语法:

    if [条件判断式]
    then 
    代码
    elif [条件判断式]
    then 
    代码
    fi
    注意事项:【条件判断式】,中括号和条件判断式之间必须有空格
    

    应用实例 ifCase.sh
    案例:请编写一个shell程序,如果输入的参数,大于等于60,则输出“及格了”,如果小于60,则输出“不及格”

    #!/bin/bash
    #案例:请编写一个shell程序,如果输入的参数,大于等于60,则输出“及格了”,如果小于60,则输出“不及格”
    if [ $1 -ge 60  ]
    then
            echo "及格了"
    elif [ $1 -lt 60  ]
    then
            echo "不及格"
    fi
    

    结果输出:


    case语句

    基本语法

    case $变量名 in
    "值1" )
    如果变量的值等于值1,则执行程序1
    ;;
    "值2")
    如果变量的值等于值2,则执行程序2
    ;;
    ...省略其他分支...
    如果变量的值都不是以上的值,则执行此程序
    ;;
    esac 
    

    应用实例
    案例一:当命令行参数是 1 时,输出“周一”,是2,输出“周二”,其他情况输出“other”

    #!/bin/bash
    case $1 in
    "1")
    echo "变量是一,执行此程序"
    ;;
    "2")
    echo "变量是二,执行此程序"
    ;;
    *)
    echo "其他变量,执行此程序"
    ;;
    esac
    
    
    image.png

    for循环

    基本语法1

    for 变量 in 值1 值2 值3...
    do 
    程序/代码
    done
    

    应用实例 testFor1.sh
    案例一:打印命令行输入的参数【这里可以看出* 和@ 的区别】

    #!/bin/bash
    #案例一:打印命令行输入的参数【这里可以看出* 和@ 的区别】
    #注意:$* 是把输入的参数,当作一个整体,所以只会输出一句话
    for i in "$*"
    do
            echo "number is $i" 
    done
    #使用 $@ 来获取输入的参数,注意,这时是分别对待,所以有几个参数,就会输出几句
    echo "================================================="
    for j in "$@"
    do 
            echo "number is $j"
    done
    
    

    基本语法2

    for((初始值;循环控制条件;变量变化))
    do 
    程序
    done
    

    应用实例 testFor2.sh
    案例一:从1加到100的值输出显示

    #!/bin/bash
    #案例一:从1加到100的值输出显示
    #定义一个变量SUM
    SUM=0
    for(( i=1; i<=$1; i++ ))
    do
    #写上你的业务代码
            SUM=$[$SUM+$i]
    done
    echo "总和=$SUM"
    
    
    image.png

    while循环

    基本语法:

    while  [条件判断式]
    do
    程序
    done
    

    注意:while和【有空格 ; 条件判断式和】也有空格
    应用实例:
    案例1:从命令行输入一个数n,统计从1+2+...+n的值有少

    #!/bin/bash
    #案例1:从命令行输入一个数n,统计从1+2+...+n的值有少
    SUM=0
    i=0
    while [ $i -le $1  ]
    do
            SUM=$[$SUM+$i]
            # i自增
            i=$[$i+1]
    done
    echo "执行结果=$SUM"
    
    

    结果展示:


    相关文章

      网友评论

          本文标题:Linux_Shell脚本编程之流程控制

          本文链接:https://www.haomeiwen.com/subject/kugsyltx.html