我有一个简单的 bash 脚本,它执行一个程序并重定向文件中的每个输入并将 stdout 处的每个输出重定向到一个文件中。
当我在没有标准输出重定向的情况下执行它时,它会以正确的顺序在终端中打印我程序的每个 printf。当我对标准输出进行重定向时,它似乎会丢失其中的一些并造成它们的顺序混乱。
#!/bin/bash
./myprog < commands > scriptOUT.txt
其中 myprog 是程序的可执行文件 commands 是一个文件,其中包含该程序执行所需的输入,而 scriptOUT.txt 是要在最后创建的所有标准输出的文件(这根本不会发生)
为什么会这样?有没有办法解决它?