我正在编写一个需要验证用户输入的脚本。系统会提示用户输入格式相同的票号:
HD0000000000000
即大写 HD 后跟 13 位数字。
我需要在脚本继续之前验证输入,否则它可能会在以后搞砸。
到目前为止,我有:
read -p 'Please enter the Helpdesk Ticket Number: ' TICKET
if [[ $TICKET =~ HD[\d]{13} ]] ; then
echo "This ticket number seems to be valid. Be sure to double check!"
else
echo "This ticket number does not seem to be valid! Be sure to double check!"
fi
但是无论我在提示符下输入什么,它都不匹配。
我最初有它匹配
HD[0-9]{13}
但这给了我输入的任何内容,即使我输入了一个小写字母。
我做错了什么?任何事情都会有帮助!
这个脚本必须只使用 bash 内置函数,因为它可以在具有不同 util 集的许多不同机器上运行。我正在 bash 3.00 上开发,但这必须在 bash 2.00 - 3.60 上运行
谢谢!