1

我正在尝试在 Linux 中执行 Windows 程序,并且我想从该进程中获取输出(stdout)。我将此文本放入 .sh 文件中: wine Blockland.exe ptlaaxobimwroe -dedicated -port 30000 >> consoleLog.txt 它执行了程序,但创建了一个空白文件。此命令在终端窗口中直接执行时始终有效。那么为什么在 .sh 脚本中不将输出打印到文件中呢?

4

1 回答 1

1

它可能正在将输出发送到标准错误。要考虑这种可能性,请尝试

wine Blockland.exe ptlaaxobimwroe -dedicated -port 30000 2>&1 >>consoleLog.txt

2>&1位将 stderr(文件描述符 2)重定向到 stdout(文件描述符 1)。然后它将标准输出(现在包括标准错误输出)重定向到您的日志文件。

于 2013-07-25T02:39:50.010 回答