Linux--shell编程中的if语句

一、if语句

    1. if

if 语句语法格式:

if condition

then

    command1

    command2

    ...

    commandN

fi

     1)判断当前系统是否有多个ssh进程,如果有则打印true

test12.sh

#!/bin/bash

if [ $(ps -ef | grep -c "ssh") -gt 1 ]

then 

 echo "true" 

fi

      2)判断/media/cdrom文件是否存在,若不存在就去创建这个目录

test13.sh

#!/bin/bash 

DIR="/media/cdrom" 

if [ ! -e $DIR ] 

then 

mkdir -p $DIR 

fi

  2. if else

if else 语法格式:

if condition

then

    command1

    command2

    ...

    commandN

else

    command

fi

实例:

        1)根据年龄判断是否成年

test14.sh

#!/bin/bash

read -p "Enter your age(1-100):" age

if [ $age -ge 18 ]

then

     echo '已经成年!'

else

     echo '未成年!'

fi

     2)if else语句经常与test命令结合使用

test 命令允许你做各种测试并在测试成功或失败时返回它的退出状态码(为0表示为真,为1表示为假)。使用这个状态码,可以让 Bash 对测试的结果做出反应。

test 命令的语法为:

test EXPRESSION

[ EXPRESSION ]

test15.sh

#!/bin/bash

num1=$[2*3]

num2=$[1+5]

if test $[num1] -eq $[num2]

then

    echo '两个数字相等!'

else

    echo '两个数字不相等!'

fi

      ​​​​​​​3.if else-if else

if else-if else 语法格式:

if condition1

then

    command1

elif condition2

then

    command2

else

    commandN

fi

实例:

      1)以下实例判断两个变量是否相等:

test16.sh

#!/bin/bash 

echo "请输入a的值:" 

read a

echo "请输入b的值:" 

read b

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

        2)输入成绩,判断成绩“优”“良”“中”

test17.sh

#!/bin/bash

read -p "Enter your score(0-100):" n #-p参数表示给出提示信息

if [ $n -ge 85 ] && [ $n -le 100 ] ; then

 echo "优"

elif [ $n -ge 70 ] && [ $n -le 84 ] ; then

 echo "良"

elif [ $n -ge 60 ] && [ $n -le 69 ] ; then

 echo "中"

else

 echo "差" 

fi

你可能感兴趣的:(linux,运维,服务器)