2017-02-16 23 views
0

我試圖在UNIX中檢查變量是否爲編號,如下所示: 當我執行程序時,它始終會去其他塊。正則表達式與I在線檢測工具如何在UNIX中檢查變量是否爲編號

set reqex = '^[0-9]*$' 
    if( $parm =~ $reqex) then 
    echo "  ** NUMBER PASSED [$JOBPARM] **  " 
    else 
    echo "  ** NOT NUMBER PASSED [$JOBPARM] **  " 
    endif 
+1

您使用的是哪種腳本語言?你好像使用'csh'的一些語法和''bash'的一些語法。 – Barmar

回答

0

我不確定您使用的是哪種shell或腳本語言。

如果你想開發KSH或bash shell腳本,這應該工作:

reqex="^[0-9]+$" 
if [ $parm =~ $reqex ]; then 
    echo "  ** NUMBER PASSED [$JOBPARM] **  " 
else 
    echo "  ** NOT NUMBER PASSED [$JOBPARM] **  " 
fi 

,我也做了下車換到正則表達式。而不是*匹配零個或多個數字,我使用+匹配至少一個數字。


希望這有助於!

+0

我將*改爲+並將$ parm設置爲123,但它引發了「未通過數字」消息。我正在使用Kshell。提前致謝。 – ryan

+0

你從'*'改爲'+'的地方?在你的腳本? – anacron