首页 » Linux » shell第11题 及read读入的方式比较2个整数大小

shell第11题 及read读入的方式比较2个整数大小

 

企业面试题11:开发shell脚本分别实现以脚本传参以及read读入的方式比较2个整数大小。以屏幕输出的方式提醒用户比较结果。注意:一共是开发2个脚本。当用脚本传参以及read读入的方式需要对变量是否为数字、并且传参个数做判断。

[root@nfs_server scripts]# cat shell11.sh 
#!/bin/bash
if [ $# -gt 2 ]
 then
 echo "pls input two numbers!!!"
 exit
fi
a=$1
b=$2
if [ $a -eq -1 -o $b -eq -1 ]
 then
 expr $a + 2 &>/dev/null
 c=$?
 expr $b + 2 &>/dev/null
 d=$?
 else
 expr $a + 1 &>/dev/null
 c=$?
 expr $b + 1 &>/dev/null
 d=$?
fi

if [ $c -ne 0 -o $d -ne 0 ]
then
echo "pls input init numbers!"
exit 2
fi
if [ $a -gt $b ]
 then
 echo "$a > $b"
elif [ $a -eq $b ]
 then
 echo "$a = $b"
else 
echo "$a < $b"
fi


[root@nfs_server scripts]#

 

[root@nfs_server scripts]# cat shell11_1.sh 
#!/bin/bash
read -t 20 -p "pls input two init numbers:" a b 
if [ $a -eq -1 -o $b -eq -1 ]
 then
 expr $a + 2 &>/dev/null
 c=$?
 expr $b + 2 &>/dev/null
 d=$?
 else
 expr $a + 1 &>/dev/null
 c=$?
 expr $b + 1 &>/dev/null
 d=$?
fi

if [ $c -ne 0 -o $d -ne 0 ]
then
echo "pls input init numbers!"
exit 2
fi
if [ $a -gt $b ]
 then
 echo "$a > $b"
elif [ $a -eq $b ]
 then
 echo "$a = $b"
else 
echo "$a < $b"
fi


[root@nfs_server scripts]#

 

 

原文链接:shell第11题 及read读入的方式比较2个整数大小,转载请注明来源!

0