gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 22:56:53 25 4
gpt4 key购买 nike

if [[ $(dspmq | grep '(Running)' | 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

关于ibm-mq - 如何检查 IBM MQ for linux 中是否已经存在队列名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41877031/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com