バッチ・ファイルからの MQSC コマンドの実行

非常に長いコマンドや、繰り返し実行するコマンドの場合には、stdin をバッチ・ファイルからリダイレクトする方法を検討してください。

stdin をバッチ・ファイルからリダイレクトするには、最初に MQSC コマンドの入ったバッチ・ファイルを、通常のテキスト・エディターを使用して作成します。 runmqsc コマンドを使用するとき、シェル・リダイレクト演算子を使用してください。 以下に例を示します。
  1. テスト・キュー・マネージャー TESTQM を作成します。
  2. TCP/IP ポート 1600 を使用するために、一致する CLNTCONN およびリスナーのセットを作成します。
  3. テスト・キュー TESTQ を作成します。
  4. amqsputc サンプル・プログラムを使用して、メッセージをキューに入れます。
図1: バッチ・ファイルから MQSC コマンドを実行するためのスクリプトの例

export MYTEMPQM=TESTQM
export MYPORT=1600
export MQCHLLIB=/var/mqm/qmgrs/$MQTEMPQM/@ipcc

crtmqm $MYTEMPQM
strmqm $MYTEMPQM
runmqlsr -m $MYTEMPQM -t TCP -p $MYPORT &

runmqsc $MYTEMPQM << EOF
DEFINE CHANNEL(NTLM) CHLTYPE(SVRCONN) TRPTYPE(TCP)
DEFINE CHANNEL(NTLM) CHLTYPE(CLNTCONN) QMNAME('$MYTEMPQM') CONNAME('hostname($MYPORT)')
ALTER CHANNEL(NTLM) CHLTYPE(CLNTCONN)
DEFINE QLOCAL(TESTQ)
EOF

amqsputc TESTQ $MYTEMPQM << EOF
hello world
EOF

endmqm -i $MYTEMPQM