我的目标是用(仅用-case + esac)验证数字的范围,并打印该范围
例如
如果数字在 0-80 之间,则会打印案例
>=0<=80
或者如果范围在 81-100 之间,则将打印案例
>=81<=100
等等....
我的脚本的问题在于仅当数字介于 0-9 之间时才打印 >=0<=90?
如何修复我的脚本,以便它能够根据数字范围打印?
#!/bin/ksh
read number
case $number in
[0-80]) echo ">=0<=80";;
[81-100]) echo ">=81<=100";;
[101-120]) echo ">=101<=120";;
[121-300]) echo ">=121<=300";;
esac
答案1
在 zsh 中(在我的系统上 ksh 是符号链接的),您需要使用<>
数值范围:
case $number in
<0-80>) echo ">=0<=80";;
<81-100>) echo ">=81<=100";;
<101-120>) echo ">=101<=120";;
<121-300>) echo ">=121<=300";;
esac