我想在 Unix / Linux 中使用 echo 输出文件的结果 #QueueManager

我想在 Unix / Linux 中使用 echo 输出文件的结果 #QueueManager

A: runmqsc QueueManager < 输入1

我想将A的结果输出到文件中。 Input1 包含将在 QueueManager 中运行的多个代码。

我的命令是:

echo "runmqsc QueueManager < Input1" > OutputResult

但上面仅输出“runmqsc QueueManager < Input1”而不是实际结果。如何使用 echo 命令来做到这一点?

我需要有如下的逻辑,但我不知道 Unix 命令。

A = runmqsc 队列管理器 < 输入 1

A > 输出结果

答案1

您想要捕获程序的输出。这简直就是……

unmqsc QueueManager <Input1 >OutputResult

如果想要将输出发送回您的终端被抓了,那就不一样了。您想将输出发送到 2 个不同的地方。您可以在写入文件时读取该文件......

unmqsc QueueManager <Input1 >OutputResult &
tail -f OutputResult

但是,当 unmqsc 退出并关闭 OutputResult 时,“tail”命令不会退出。此外,某些输出也有可能不会发送到您的终端。

我会用....

unmqsc QueueManager <Input1 | tee OutputResult

(该tee命令将其输入复制到 2 个输出流)。

相关内容