我正在尝试编写一个脚本,我需要检查用户输入是否有效。我只是想不出来。一直在尝试不同的方法,但无法找到解决方案。所以,如果有一个忙碌的灰烬大师,我很乐意为你提供帮助。
if ! [[ $ANS =~ ^[0-9][.0-9]*$ ]]; then
echo "abort"
else
echo "go on"
fi
我想查看用户是否输入了一个号码。也允许带小数的数字。如果没有那么它应该中止。
与...相同。
if ! [[ $ANS =~ ^[0-9A-Fa-f]{6}$ ]] ; then
echo "abort"
else
echo "go on"
fi
我需要它来查看是否使用了十六进制。我得到的只是“未知的操作数”。
答案 0 :(得分:1)
感觉有点乱,但您可以使用egrep
:
$ ANS=10.2
$ echo -n $ANS | egrep -q '^[0-9]*[.]?[0-9]*$' && echo success || echo failure
success
$ ANS=10.2.2
$ echo -n $ANS | egrep -q '^[0-9]*[.]?[0-9]*$' && echo success || echo failure
failure