shell if语句

if 语句格式

单分支结构

#第一种
if <条件表达式>
then
   指令
fi

#第二种
if <条件表达式>; then
指令
fi

实例1

#/bin/bash
read -p "请输入两个整数:" a  b
if  (( $a == $b ))
then
echo  "两个数相等"
fi

双分支结构

if <条件表达式>
then
  指令1
else
  指令2
fi

示例2

#第一种写法
#!/bin/bash
read -p "请输入两个整数:" a b
if [ $# -ne 2 ] || [[ ! $a =~ [0-9]+$ ]] || [[ ! $a =~ [0-9]+$ ]]; then
   echo "输入错误,请输入两个整数!"
fi
if (( $a == $b ))
then
  echo "$a=$b"
else
  echo "$a!=$b"
fi
#第二种写法
#!/bin/bash
read -p "请输入两个整数:" a b
#判断输入是否为空
[ -z "$a" ] || [ -z "$b" ] && {
echo "输入错误,不能为空值,请输入两个整数"
exit 1
}
#判断是否为整数
expr $a + 10 &>/dev/null
RETAL1=$?
expr $b + 10 &>/dev/null
RETAL2=$?
test $RETAL1 -eq 0 -a $RETAL2 -eq 0 || {
echo "输入错误,请输入两个整数"
exit 2
}
if [ "$a" -eq "$b" ] 
then
  echo "$a=$b"
else
  echo "$a!=$b"
fi

多分支结构

if <条件表达式>
then
  指令1
elif <条件表达式>
then
  指令2
elif <条件表达式>
then
  指令3
else
  指令4
fi

示例3

#!/bin/bash
read -p "请输入成绩:" a
[ -z "$a" ] && {
echo "输入错误,数值为空"
exit 1
}
[[ ! "$a" =~ ^[0-9]+$ ]] && echo "输入错误,请输入数字" && exit 2 
if [ "$a" -gt 90 ]
then 
  echo "优秀"
elif [ "$a" -ge 80 -a "$a" -lt 90 ]
then
  echo "良好"
elif [ "$a" -ge 70 -a "$a" -lt 80 ]
then
  echo "一般"
elif [ "$a" -ge 60 -a "$a" -lt 70 ]
then
  echo "及格"
else
  echo "不及格"
fi
© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容