zoukankan      html  css  js  c++  java
  • 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”

    执行结果:

  • 相关阅读:
    DB2去重的几种方法
    split命令:文件切割
    DB2中横表纵表互换
    做一个思想的码农
    access应用分享
    回顾2015年
    笑看互联网金融
    Razor语法
    数据库操作(二)
    SQL Server数据库简介(一)
  • 原文地址:https://www.cnblogs.com/bdzxh/p/14035501.html
Copyright © 2011-2022 走看看