嗨,我正在完成一项任务并陷入这一部分,如何在shell中验证十进制数/数字?
它可以接受数字而不是十进制数字.我希望它能够接受两者.
这就是我到目前为止所拥有的
if echo $value | egrep '^[0-9]+$' >/dev/null 2>&1 ; then
echo "OK"
else
echo "There Is An Error"
echo "Please Try Again"
fi
Run Code Online (Sandbox Code Playgroud)
您可以使用bash检查表达式,而不是使用grep:
#!/bin/bash
value=98.23
if [[ "$value" =~ ^[0-9]+(\.[0-9]+)?$ ]]
then
echo good
else
echo bad
fi
Run Code Online (Sandbox Code Playgroud)