一、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 |