0

我想从 Linux 中的程序获取输出,并将其放入 .sh 文件中:

wine Blockland.exe ptlaaxobimwroe -dedicated -port 30100 > consoleLog.txt

它执行了程序,但创建了一个空白文件。此命令在终端窗口中直接执行时始终有效。那么为什么在 .sh 脚本中不将输出打印到文件中呢?

4

2 回答 2

1

可能是因为它将输出打印到stderr流中,而不是stdout. 尝试附加2>&1到命令的末尾(在 consoleLog.txt 之后),或者只使用&>而不是>.

于 2013-07-25T19:49:41.680 回答
0

使用 exec 重定向标准输出:

#!/bin/sh
#Example script
exec > consoleLog.txt
wine Blockland.exe ptlaaxobimwroe -dedicated -port 30100
于 2013-07-25T20:00:13.743 回答