我想从Linux中获取程序的输出,并将其放入.sh文件中:
wine Blockland.exe ptlaaxobimwroe -dedicated -port 30100 > consoleLog.txt
它执行了程序,但创建了一个空白文件。 此命令在终端窗口中直接执行时始终有效。那么为什么不在.sh脚本中将输出打印到文件中呢?
答案 0 :(得分:1)
可能是因为它将输出打印到stderr
流,而不是stdout
。尝试将2>&1
附加到命令的末尾(在consoleLog.txt之后),或者只使用&>
而不是>
。
答案 1 :(得分:0)
使用exec重定向stdout:
#!/bin/sh
#Example script
exec > consoleLog.txt
wine Blockland.exe ptlaaxobimwroe -dedicated -port 30100