企业面试题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个整数大小,转载请注明来源!