微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ibm-mq – 如何检查IBM MQ for Linux中是否存在队列名称?

如果[[$(dspmq | grep'(正在运行)’| grep“$QMgr”| wc -l | tr -d“”)!= 1]]

上面的代码是检查队列管理器是否正在运行.

是否有任何命令来检查队列管理器中是否存在给定的队列名称

解决方法

除了Rob和T.Rob所说的之外,还添加了另一个建议.

MQ v7.1及更高版本附带dmpmqcfg命令,您可以使用它来检查特定队列.

以下示例与您的示例一致,该示例检查队列管理器是否正在运行:

要使用dmpmqcfg检查是否存在任何类型的队列名称,您可以执行以下操作:

if dmpmqcfg -m ${QMgr} -t queue -x object -o 1line -n ${QName}|egrep '^DEFINE '; then
  echo "Queue ${QName} exists on Queue Manager ${QMgr}
fi

使用方法Rob Parker提供*来检查是否存在任何类型的队列名称
*注意我使用了disPLAY Q(而不是disPLAY QLOCAL(

if printf "disPLAY Q(${QName})" | runmqsc ${QMgr} 2>&1 >/dev/null; then
  echo "Queue ${QName} exists on Queue Manager ${QMgr}
fi

您的示例检查队列管理器运行可以简化为:

if dspmq -m ${QMgr}| grep --quiet '(Running)'; then
  echo "Queue Manager ${QMgr} is Running"
fi

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐