我正在运行带列号的开关盒,我的列号可以是0 -50。当循环运行时 – 它们被验证。现在每种情况都支持离散的列号,我观察它的失败。
示例:我的列号是10,这里是代码 –
示例:我的列号是10,这里是代码 –
i=10 a=1 b=0.65 if [ "$a" != "$b" ] ; then case $i in [1]|[2]|[5]) echo "Not OK"; ;; [9-10]|[12]) echo "may be ok"; ;; *) echo "no clue - $i"; ;; esac; fi
我期待“可能”,但不能得到任何线索 – 10
Bash案例不符合数字范围。 []是用于shell模式。
例如这种情况[1-3] 5 | 6)将工作15或25或35或6。
您的代码应如下所示:
i=10 a=1 b=0.65 if [ "$a" != "$b" ] ; then case $i in 1|2|5) echo "Not OK"; ;; 9|10|12) echo "may be ok"; ;; *) echo "no clue - $i"; ;; esac; fi
如果我可以在9和10之间是真实的,那么你需要使用if(而不是case)和range。