在评估字符串长度的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位数验证不起作用?
答案 0 :(得分:0)
模式必须是由vbars分隔的一个或多个glob。模式中的任何文本都将被视为glob,而 never 将被视为命令。