在哪里修改shell脚本以放置单引号''

时间:2014-05-01 09:02:25

标签: shell ksh ibm-mq

我有以下脚本来改变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')

1 个答案:

答案 0 :(得分:0)

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

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

其余的都遵循同样的方法。