• 09FlowControl


    Shell 流程控制

    if  

    if condition
    then
        command1 
        command2
        ...
        commandN 
    fi

    if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi

    if else

    if condition
    then
        command1 
        command2
        ...
        commandN
    else
        command
    fi
    num1=$[2*3]
    num2=$[1+5]
    if test $[num1] -eq $[num2]
    then
        echo '两个数字相等!'
    else
        echo '两个数字不相等!'
    fi

    if else if else

    if condition1
    then
        command1
    elif condition2 
    then 
        command2
    else
        commandN
    fi
    a=10
    b=20
    if [ $a == $b ]
    then
       echo "a 等于 b"
    elif [ $a -gt $b ]
    then
       echo "a 大于 b"
    elif [ $a -lt $b ]
    then
       echo "a 小于 b"
    else
       echo "没有符合的条件"
    fi

    for

    for var in item1 item2 ... itemN
    do
        command1
        command2
        ...
        commandN
    done
    for var in item1 item2 ... itemN; do command1; command2 done;

    for loop in 1 2 3 4 5
    do
        echo "The value is: $loop"
    done

    for str in 'This is a string'
    do
        echo $str
    done

    while

    while condition
    do
        command
    done

    int=1
    while(( $int<=5 ))
    do
        echo $int
        let "int++"
    done

    echo '按下 <CTRL+D> 退出'
    echo -n '输入你最喜欢的网站名: '
    while read FILM
    do
        echo "是的!$FILM 是一个好网站"
    done

    无限循环

    while :
    do
        command
    done

    while true
    do
        command
    done

    for (( ; ; ))

    until

    until condition
    do
        command
    done

    case

    case  in
    模式1)
        command1
        command2
        ...
        commandN
        ;;
    模式2
        command1
        command2
        ...
        commandN
        ;;
    esac

    echo '输入 1 到 4 之间的数字:'
    echo '你输入的数字为:'
    read aNum
    case $aNum in
        1)  echo '你选择了 1'
        ;;
        2)  echo '你选择了 2'
        ;;
        3)  echo '你选择了 3'
        ;;
        4)  echo '你选择了 4'
        ;;
        *)  echo '你没有输入 1 到 4 之间的数字'
        ;;
    esac

    break

    while :
    do
        echo -n "输入 1 到 5 之间的数字:"
        read aNum
        case $aNum in
            1|2|3|4|5) echo "你输入的数字为 $aNum!"
            ;;
            *) echo "你输入的数字不是 1 到 5 之间的! 游戏结束"
                break
            ;;
        esac
    done

    continue

    while :
    do
        echo -n "输入 1 到 5 之间的数字: "
        read aNum
        case $aNum in
            1|2|3|4|5) echo "你输入的数字为 $aNum!"
            ;;
            *) echo "你输入的数字不是 1 到 5 之间的!"
                continue
                echo "游戏结束"
            ;;
        esac
    done
  • 相关阅读:
    例7-13
    例7-11
    例7-1
    例6-5
    例6-3
    例6-2
    例6-1
    例5-9
    例5-8
    例5-7
  • 原文地址:https://www.cnblogs.com/DowneyJr/p/7658325.html
Copyright © 2020-2023  润新知