2014-05-01 136 views
1

我有以下腳本來改變NL,但是當它被改變,應該採取「NL」的價值爲單引號像下面凡修改shell腳本把單引號「」

alter nl('$NL') 

但現在下面的腳本是與單引號alter nl($NL) doint,在哪裏修改下面的腳本將NL值放在單引號''中?

#!/bin/ksh 
if [ $# != 3 ] 
then 
echo usage: alterNamelist.sh QMGR MQREQ NAME 
fi 

NL=`echo 'dis qmgr'|runmqsc $1|grep REPOSNL|sed 's/.*REPOSNL\(.*\).*/\1/' |cut -d'(' -f2|cut -d')' -f1` 

echo 'define nl('$NL'_'$2') like('$NL')'|runmqsc -e $1 
echo 'dis nl('$NL') names ' | runmqsc $1 | nawk ' 
$1~/^NAMELIST ?\(/ {nl=$0} 
$1~/^NAMES ?\(/ {a=1} 
a==1 { 
    s0=s0 "+\n" $0 
    if (/\)/) { 
sub(/\)/, ","addname"\)", s0) 
print "ALTER", nl, s0, "DESCR (", descr, ")"; exit 
    } 
}' addname="$3" descr="$2" | runmqsc -e $1 

對於上述腳本信息;做下面的事情

alter nl($NL) names(1, 2, 3, $NAME) descr($MQREQ') 

回答

0

變化從

echo 'define nl('$NL'_'$2') like('$NL')' 

echo "define nl('$NL'_'$2') like('$NL')" 

其餘遵循相同的修補程序。

+0

對不起,它沒有工作...... :( – user3541225

+0

那麼,你的命令行是「沒有工作」和輸出是什麼? –