shell流程控制语句之if

一、if单分支

1.1 if单分支语法

#写法一
if 条件表达式;then
     命令
fi

#写法二
if 条件表达式
then
命令
fi

1.2 示例

if [ 1 -eq 1 ];then
    echo "equality"
fi

二、if双分支

2.1 if双分支语法

#写法一
if 条件表达式;then
    命令
else
    命令
fi

#写法二
if 条件表达式
then
    命令
else
    命令
fi

2.2 示例

if [ 1 -eq 1 ];then
    echo "equality"
else
    echo "not equality"
fi

三、if多分支

3.1 if多分支语法

elif后面还可以加条件,即elif可以有多个

写法一
if 条件表达式;then
    命令
elif
    命令
else
    命令
fi

写法二
if 条件表达式
then
    命令
elif
    命令
else
    命令
fi

3.2 示例

if [ 1 -eq 1 ];then
    echo "equality"
elif [ 2 -eq 1 ];then
    echo "equality"
else
    echo "not equality"
fi

猜数字脚本示例

系统产生一个随机数,然后用户输入一个数字,与随机数做比较,输入的数字比随机数大则提示输入数字大了,输入的数字比随机数小则提示输入数字小了,猜对提示你猜对了

#!/usr/bin/env bash

SJ=`echo $((RANDOM%100+1))`
i=1
for ((;;))
do
read -p "please input a num: " NUM
if [[ $NUM =~ ^[0-9]+$ ]];then
    if [ $NUM -eq $SJ ];then
        echo -e "\033[32myou guess it!!! \033[0m"
        echo -e "\033[34mGuess the total is $i times!!!\033[0m"
        exit 0
    elif [ $NUM -gt $SJ ];then
        echo "Larger than the random number"
    else 
        echo "Smaller than the random number"
    fi
else
    echo "Please enter the correct number: "
fi
let i++
done
泡泡吐肥皂o © gitbook.pptfz.top 2021 all right reserved,powered by Gitbook文件修订时间: 秃笔南波湾!!!

results matching ""

    No results matching ""