• Centos常用命令(七、shell编程-流程控制)


    17.shell流程控制
    1)if 判断
    (1)方法一
    if [ 条件判断式 ];then
    程序
    fi

    扩展语法:
    if [ command ];then
    程序
    elif [ command ];then
    程序
    else
    程序
    fi
    (2)方法二(推荐使用)
    if [ 条件判断式 ]
    then
    程序
    elif [条件判断式]
    then
    程序
    else
    程序
    fi
    注意事项:[ 条件判断式 ],中括号和条件判断式之间必须有空格
    推荐使用第二种方式
    (3)案例:请编写一个shell 程序,如果参数大于85输出”优秀”,如果输入的参数大于等于 60,则输出 "及格了",如果小于 60则输出 "不及格"
    编辑脚本:
    if [ $1 -ge 85 ]
    then
    echo "优秀"
    elif [ $1 -ge 60 ]
    then
    echo "及格"
    else
    echo "不及格"
    fi

    测试结果:

    2)case语句
    基本语法
    case $变量名 in
    "值 1")
    如果变量的值等于值 1,则执行程序 1
    ;;
    "值 2")
    如果变量的值等于值 2,则执行程序 2
    ;;
    …省略其他分支…
    *)
    如果变量的值都不是以上的值,则执行此程序
    ;;
    esac
    案例:请编写一个shell 程序,如果输入的参数=1输出”星期一”,如果参数=2输出 "星期二",其它情况输出"other"
    编辑脚本:

    !/bin/bash

    case $1 in
    "1")
    echo "星期一"
    ;;
    "2")
    echo "星期二"
    ;;
    *)
    echo "other"
    ;;
    esac

    执行结果:

    3)for循环
    (1)方法一(轮寻)
    for 变量 in 值1 值2 值3…
    do
    程序
    done
    案例 1 :打印1 2 3 4 5
    编辑脚本

    !/bin/bash

    for i in 1 2 3 4 5
    do
    echo "$i"
    echo "====="
    done

    执行结果:

    案例2 :打印命令行输入的参数 【会使用到$* $@】
    编辑脚本:

    !/bin/bash

    for i in "$*"
    do
    echo "$i"
    done
    echo "=============="
    for i in "$@"
    do
    echo "$i"
    done

    执行结果:

    备注:如果”$*”不加””,也可以输出”$@”一样的效果
    (2)方法二(判断)
    for (( 初始值;循环控制条件;变量变化 ))
    do
    程序
    done
    案例 1 :从 1 加到 100 的值输出显示
    编辑脚本:

    !/bin/bash

    SUM=0
    for (( i=1;i<=100;i++))
    do
    SUM=$[ $SUM+$i ]
    done
    echo "sum=$SUM"

    执行结果:

    4)while 循环
    基本语法:
    while [ 条件判断式 ]
    do
    程序
    done
    案例1:从命令行输入一个数 n,统计从 1+..+ n 的值是多少?
    编辑脚本:

    !/bin/bash

    SUM=0
    i=0
    while [ $i -le $1 ]
    do
    SUM=$[ $SUM+$i ]
    i=$[ $i+1 ]
    done
    echo “sum=$SUM”

    执行结果:

  • 相关阅读:
    Vue+vue-i18n实现国际化(中英文切换)
    webpack性能优化之配置dll后npm run dev出错
    日期格式快速转时间戳,获取最近一个月等处理方法
    使用window.print()实现网页打印
    前端获取服务器时间
    vue项目中main.js引入全局scss文件时报错
    项目管理【71】 | 项目集管理
    项目管理【70】 | 流程管理
    项目管理【69】 | 组织级项目管理
    项目管理【68】 | 战略管理
  • 原文地址:https://www.cnblogs.com/bdzxh/p/14035501.html
Copyright © 2020-2023  润新知