我有以下脚本来改变NL,但是当它改变它时应该采取" NL"值如下面的单引号
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 :(得分:0)
从
改变echo 'define nl('$NL'_'$2') like('$NL')'
到
echo "define nl('$NL'_'$2') like('$NL')"
其余的都遵循同样的方法。