从linux命令获取屏幕输出

时间:2016-12-04 15:07:03

标签: linux bash shell

我试图在命令中获取命令输出,但我无法得到它。如果我手动运行,它会在屏幕上返回正常结果。

  

[root@mymachine ~]# dnsdist -e "topQueries()" 1 Rest 0 100.0%

我尝试了dnsdist -e 'topQueries() 2>&1 1> /tmp/abc。但是/tmp/abc仍然是空的。 我不认为screen命令可以解决它。 有没有人有任何建议?

补充资料:

  

1休息0 100.0%

是topQueries()的结果。 ' -e'意味着在dnsdist中执行命令。它看起来像我们访问mysql然后我们调用一个sql语句。

1 个答案:

答案 0 :(得分:1)

作为rkosegi commented,订单很重要。当你跑:

examplecommand 2>&1 1> /tmp/abc

它接受stderr输出并将其发送到,其中stdout当前正在,然后将stdout发送到该文件。

您可能需要,而不是:

examplecommand 1> /tmp/abc 2>&1

将stdout发送到文件,然后将stderr发送到stdout当前正在进行的 ,即文件。