检查busybox中的有效号码?

时间:2012-01-02 02:09:18

标签: if-statement busybox

我正在尝试编写一个脚本,我需要检查用户输入是否有效。我只是想不出来。一直在尝试不同的方法,但无法找到解决方案。所以,如果有一个忙碌的灰烬大师,我很乐意为你提供帮助。

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

我需要它来查看是否使用了十六进制。我得到的只是“未知的操作数”。

1 个答案:

答案 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