如何执行 bash 脚本来配置通道 MQ?

How to execute a bash script to configure channel MQ?

#!/bin/bash
su - mqm -c " echo 'define channel(CLSTQ1.ESBQM) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('example.corp(1414)') CLUSTER(CLSTQ1) DESCR('tcp cluster receirver channel for QM ESBQM')' | runmqsc ESBQM "

当我执行此脚本时出现以下错误:

-bash: -c: line 0: syntax error near unexpected token \`('
-bash: -c: line 0: ` echo 'define channel(CLSTQ1.ESBQM) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('example.corp(1414)')  CLUSTER(CLSTQ1) DESCR(tcp cluster receirver channel for QM ESBQM)' | runmqsc ESBQM '

这不是一个好的方法。

执行以下操作:

(1) 将 MQSC 命令放入文件中。让我们称之为 crt_chl.mqsc

define channel(CLSTQ1.ESBQM) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('example.corp(1414)') CLUSTER(CLSTQ1) DESCR('tcp cluster receirver channel for QM ESBQM')

(2) 发出命令如下:

su - mqm -c "runmqsc ESBQM < crt_chl.mqsc > crt_chl.mqsc.out"

(3) 现在检查 crt_chl.mqsc.out 文件的底部,看它是成功还是有错误。

你也可以在一行中这样做:

echo "define channel(CLSTQ1.ESBQM) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('example.corp(1414)') CLUSTER(CLSTQ1) DESCR('tcp cluster receirver channel for QM ESBQM')" | su - mqm -c "runmqsc ESBQM"