Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 检查busybox中的有效号码?_If Statement_Busybox - Fatal编程技术网

If statement 检查busybox中的有效号码?

If statement 检查busybox中的有效号码?,if-statement,busybox,If Statement,Busybox,我正在尝试编写一个脚本,需要检查用户输入是否有效。我就是搞不懂。一直在尝试不同的方法,但找不到解决方案。因此,如果有一个好管闲事的灰大师在那里,我很高兴所有的帮助 if ! [[ $ANS =~ ^[0-9][.0-9]*$ ]]; then echo "abort" else echo "go on" fi 我想看看用户是否输入了一个数字。也允许使用带小数的数字。如果没有,那么它应该中止 这同样适用于 if ! [[ $ANS =~ ^[0-9A-Fa-f]{6}$ ]] ;

我正在尝试编写一个脚本,需要检查用户输入是否有效。我就是搞不懂。一直在尝试不同的方法,但找不到解决方案。因此,如果有一个好管闲事的灰大师在那里,我很高兴所有的帮助

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

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

这感觉有点像黑客,但您可以使用
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

这感觉有点像黑客,但您可以使用
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

@萨莫德:非常感谢!成功了。我用了
if!echo-n$ANS | egrep-q'^[0-9][.0-9]*$;然后回显“中止”;否则回声“继续”;fi
,因为我在if语句中需要它@萨莫德:非常感谢!成功了。我用了
if!echo-n$ANS | egrep-q'^[0-9][.0-9]*$;然后回显“中止”;否则回声“继续”;fi
,因为我在if语句中需要它