2013-02-18 106 views
0

我有一個URL參數在一個變量一樣中的ksh腳本模式匹配

a=44&search=My World

這裏我想做一個模式匹配像

if [ $a =~ "search" ] ; 
then 
    value=1 
else 
    value=0 

fi 

但它不工作KSH腳本。

+0

你的意思是說,變量'$了'包含文本'44和搜索=我World'和你想測試是包含字符串'search'? – Scrutinizer 2013-02-21 14:40:56

回答

1

對於ksh正則表達式,您需要[[,而不是Bourne shell [。儘管在這種情況下,使用RE並不值得。

所以:

if [[ $a =~ "search" ]] 
then 
    value=1 
else 
    value=0 
fi 
+0

要使用像ksh93那樣的正則表達式,需要在右側丟失雙引號。 – Scrutinizer 2013-02-25 09:25:43

0
found=`echo $a | grep search` 
if [ -z $found ]; then 
    value=0 
else 
    value=1 
fi