我试图在UNIX中检查变量是否为数字,如下所示: 当我执行程序时,它始终会转到else块。当我检查在线测试工具
时,正则表达式是正确的set reqex = '^[0-9]*$'
if( $parm =~ $reqex ) then
echo " ** NUMBER PASSED [$JOBPARM] ** "
else
echo " ** NOT NUMBER PASSED [$JOBPARM] ** "
endif
答案 0 :(得分:0)
我不确定您使用的是哪种shell或脚本语言。
如果您正在尝试为ksh或bash开发shell脚本,那么这应该有效:
reqex="^[0-9]+$"
if [ $parm =~ $reqex ]; then
echo " ** NUMBER PASSED [$JOBPARM] ** "
else
echo " ** NOT NUMBER PASSED [$JOBPARM] ** "
fi
我也对正则表达式做了改变。我使用*
来匹配至少一个数字,而不是+
匹配零个或多个数字。
希望这有帮助!