gpt4 book ai didi

linux - 输出重定向不适用于某个程序

转载 作者:IT王子 更新时间:2023-10-29 00:17:07 26 4
gpt4 key购买 nike

在 Linux 上,我试图将 stdout 从控制台应用程序重定向到文件而不是控制台。我没有源代码。我尝试了几种方法,但都导致了一个空文件。没有输出重定向,一切正常(我看到控制台消息)。

我试过,例如:

progname > out.txt
progname > out.txt 2&>1

out.txt 和控制台中什么也没有出现。

我尝试使用 strace 运行应用程序。当我不使用重定向时,我会看到诸如 -

之类的行
write(1, "bla bla", 8)

当我引入输出重定向时,根本没有写入调用,这让我觉得应用程序在写入消息之前正在测试某些东西。应用程序在寻找什么?我怎样才能绕过它?

我正在使用 CentOS 5.5 和 Bash。

最佳答案

progname > out.txt 2>&1

编辑:如果您确实这样做了并且这是您问题中的错字。应用程序可能会检查输出是否为 TTY。

Edit2: 好的,在这种情况下,尝试 script -qc progname > out.txt > 2>&1

在 Debian/Ubuntu 中,scriptbsdutils 包的一部分,它是一个基本包并且始终安装。

关于linux - 输出重定向不适用于某个程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4459077/

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