采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
为什么输出结果是false 到底哪错了 求解!!!
同学,您好,我今天看了一下这个问题,发现在[[ ]]中使用>或<进行比较时,存在问题,今天重新翻看了一下double_square_bracket.sh脚本内容,发现是下面这样的
我尝试了你的内容,的确无法得到预期结果;我后来专门翻了资料, 发现在双方括号中如果使用>和<进行数值比较是由问题的,因此会把数字当成字符串来做比较,会首先比较首个数字的ASCII码,然后对比大小,如果首个数字相同,在继续比较后面第二个数字,非常感谢同学提出的问题,后面我会重录视频纠正这个问题。
酷老师,我知道了!
酷老师,是不是我这样写,才是对的?双方括号也是一定要用-gt格式的写法。 [root@node1 shell_script]# cat double_square_bracket.sh #!/bin/bash # if [ $1 -gt $2 ] && [ $3 -gt $2 ];then echo "$1 > $2 && $3 > $2" else echo "other" fi echo "===========================" a=$1 b=$2 c=$3 if [[ $a -gt $b && $c -gt $b ]];then echo "$1 > $2 && $3 > $2" else echo "other" fi [root@node1 shell_script]# sh double_square_bracket.sh 12 5 12 12 > 5 && 12 > 5 =========================== 12 > 5 && 12 > 5
登录后可查看更多问答,登录/注册
30%知识讲解+70%实例操作 掌握Shell脚本编程能力
1.1k 15
8.1k 11
1.5k 6
847 6
924 6