linux - 使用特定前缀删除队列的脚本

标签 linux bash unix ibm-mq

我有一个名为“Output_File.txt”的文件,其中包含本地队列列表,我想编写一个脚本来删除这些队列。我写的是:

queuelist=`wc -l Output_File.txt | awk -F ' ' '{print $1}'`
for (( currentline=1; currentline<=queuelist; currentline++ ))
do
   currentqueue=`awk -v x="$currentline" 'NR==x {print $1}' Output_File.txt
   echo "delete qlocal( $currentqueue )" | runmqsc
done
echo "the queues were deleted"
exit 0

问题是脚本确实删除了队列,但为每个删除的队列打印了以下输出:

1 : delete qlocal ( -queue_name- )
AMQ8007: WEBSPHERE MQ QUEUE DELETED.
NO COMMANDS HAVE SYNTAX ERROR.
ALL VALID MQSC COMMAND WERE PROCESSED.

如何在不打印上面的输出的情况下更改代码以删除队列?谢谢。

最佳答案

只需使用echo "delete qlocal( $currentqueue )"| runmqsc >/dev/null 在你的 for 循环中将该命令的所有输出定向到 blackhole /dev/null

关于linux - 使用特定前缀删除队列的脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36033662/

相关文章:

linux - 使用 Curl 命令行实用程序并行下载

linux - 使用锁定文件避免脚本的两个实例同时运行时如何避免竞争条件?

ruby-on-rails - 如何在 Windows 10 的 linux 子系统上安装 Ngrok 2.0

c - 在 read() 之后使用 getchar()

c - 在 unix 中创建和绑定(bind)端口时出现问题。 (网络编程新手)

c - Linux C 中的 Serial read() 问题

c - 一个进程的文件,mm_struct和files_struct中文件的关系?

python - 创建文件和文件夹循环

linux - 如何自动响应 Linux Bash 脚本中的提示?

php - 在特定日期和时间在 Gearman 中安排工作