Shell编程中if-elif-else条件分支语句测试

    xiaoxiao2024-12-23  18

    测试shell脚本编程时,写了如下代码:

    在对if-elif-else分支进行数值判断时, 发现一个奇怪的现象: 如果使用test conditon(即[ condition ])进行判定,当第一条if条件为假时, 无论代码中的elif语句条件是否为真, 都输出elif分支下的语句; 查看输出结果, 发现输出结果显然与期望值不一样

    为了能够得到预期结果, 发现如果采用双圆括号是进行判断, 可得到预期结果.

    注: 作者Shell运行环境为Ubuntu12.04 - 32bit

    #!/bin/bash main() { echo ---------------------------- var1=20 var3=20 if [ $var1 -gt $var3 ]; then echo "va1 great than va3" elif [ $va1 -lt $va3 ]; then echo "va1 less than va3" else echo "va1 equal va3" echo $var1 fi if (( $var1 > $var3 )); then echo "va1 > va3" elif (( $var1 > $var3 )); then echo "va1 < va3" else echo "va1 = va3" fi return 0 } main $*

    以上代码运行结果为:

    转载请注明原文地址: https://ju.6miu.com/read-1294900.html
    最新回复(0)