首页 > 其他 > 详细

有趣的脚本(比较2个整数大小,禁止使用if判断)

时间:2017-06-23 15:20:27      阅读:308      评论:0      收藏:0      [点我收藏+]


实现以定义变量,脚本传参以及read读入的方式比较2个整数

read方式:

#!/bin/bash
read -p "pls input two num:" a b
#测试字符串是否为0
[ -z "$a" ] || [ -z "$b" ] &&{     #-z:检测字符串长度是否为0,为0返回 true。
echo "pls input two num again:"
exit 1
}
expr $a + 0 &>/dev/null
RETVAL1=$?
expr $b + 0 &>/dev/null
RETVAL2=$?
test $RETVAL1 -eq 0 -a $RETVAL2 -eq 0||{ #-a:与运算,两个表达式都为 true 才返回 true。
echo "Pls input two num again: "
exit 2
}
[ $a -lt $b ] && {
echo "$a < $b"
exit 0
}
[ $a -eq $b ] && {
echo "$a = $b"
exit 0
}
[ $a -gt $b ] && {
echo "$a > $b"
exit 0
}


验证奇迹的时刻:
[root@XCN ~]# sh test1.sh 
Pls input two num:1 2
1 < 2
[root@XCN ~]# sh test1.sh 
Pls input two num:1 1    
1 = 1
[root@XCN ~]# sh test1.sh 
Pls input two num:3 1
3 > 1

脚本传参:

#!/bin/bash
a=$1
b=$2
[ -z "$a" ] || [ -z "$b" ] && {
  echo "pls input two num again:"
  exit 1
}
expr $a + 0 &>/dev/null
RETVAL1=$?
expr $b + 0 &>/dev/null
RETVAL2=$?
test $RETVAL1 -eq 0 -a $RETVAL2 -eq 0 || {
  echo "pls input two num again:"
  exit 2
}
[ $a -lt $b ] && {
echo "$a < $b"
exit 0
}
[ $a -eq $b ] && {
echo "$a = $b"
exit 0
}
[ $a -gt $b ] && {
echo "$a > $b"
exit 0
}



验证奇迹的时刻:
[root@XCN ~]# sh test1.sh 2 3
2 < 3
[root@XCN ~]# sh test1.sh 1 1
1 = 1

定义变量:

#!/bin/bash
a=1
b=1
[ -z "$a" ] || [ -z "$b" ] && {
  echo "pls input two num again:"
  exit 1
}
expr $a + 0 &>/dev/null
RETVAL1=$?
expr $b + 0 &>/dev/null
RETVAL2=$?
test $RETVAL1 -eq 0 -a $RETVAL2 -eq 0 || {
  echo "pls input two num again:"
  exit 2
}
[ $a -lt $b ] && {
echo "$a < $b"
exit 0
}
[ $a -eq $b ] && {
echo "$a = $b"
exit 0
}
[ $a -gt $b ] && {
echo "$a > $b"
exit 0
}

验证奇迹的时刻:
[root@XCN ~]# sh test1.sh 
1 = 1




本文出自 “小菜鸟” 博客,请务必保留此出处http://baishuchao.blog.51cto.com/12918589/1941188

有趣的脚本(比较2个整数大小,禁止使用if判断)

原文:http://baishuchao.blog.51cto.com/12918589/1941188

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!