我正在运行一个开关箱,其列号可以在0到50的范围内。现在每种情况都支持离散列号,并且观察到它的故障。
这是代码:
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
我希望此代码能够输出may be ok
但得到no clue - 10
。
Bash case
不适用于数字范围。[]
用于外壳图案。
例如,这种情况[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
如果i
可以real
在 9到10 之间,则需要使用if
(而不是大小写)范围。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句