gpt4 book ai didi

c - 为什么 UNIX bash 脚本中的重定向会丢失打印内容

转载 作者:行者123 更新时间:2023-11-30 15:49:41 26 4
gpt4 key购买 nike

我有一个简单的 bash 脚本,它执行一个程序并重定向文件中的每个输入,并将 stdout 处的每个输出重定向到文件中。

当我在没有 stdout 重定向的情况下执行该操作时,它会以正确的顺序在终端中打印程序的每个 printf 。当我对标准输出进行重定向时,它似乎丢失了其中一些并造成它们的顺序困惑。

#!/bin/bash
./myprog < commands > scriptOUT.txt

其中 myprog 是程序的可执行文件,命令是一个文件,其中包含该程序执行所需的输入,而 scriptOUT.txt 是将在末尾创建所有标准输出的文件(这根本不会发生)

为什么会发生这种情况?有没有办法解决这个问题?

最佳答案

您的一些输出是否会发送到 stderr 以及 stdout ?尝试使用 >& 重定向 stdoutstderr 并查看是否有帮助:

#!/bin/bash
./myprog < commands >& scriptOUT.txt

关于c - 为什么 UNIX bash 脚本中的重定向会丢失打印内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16157604/

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