【发布时间】:2017-10-10 09:38:03
【问题描述】:
在评估字符串长度的 case 语句时遇到问题。更具体地说,不工作的部分对应于包含 [[ ${#numPase} -lt 8 ]]) 的行。
read numPase
case $numPase in
q|Q) var_cntrl_pase_ok=false
;;
(*[!0-9]*|'')
echo " "
echo "Variable must contain integers. Press key to continue."
read
;;
[[ ${#numPase} -lt 8 ]])
echo " "
echo "Variable must have 8 digits. Press key to continue."
read
;;
esac
注意: 变量 numPase 从用户输入中获取值。 第一种情况确定用户是否按下 q 或 Q 退出菜单循环。第二种和第三种情况不言自明
为什么 8 位验证不起作用?
【问题讨论】:
标签: shell unix ksh comparison-operators