Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想从 Linux 中的程序获取输出,并将其放入 .sh 文件中:
wine Blockland.exe ptlaaxobimwroe -dedicated -port 30100 > consoleLog.txt
它执行了程序,但创建了一个空白文件。此命令在终端窗口中直接执行时始终有效。那么为什么在 .sh 脚本中不将输出打印到文件中呢?
可能是因为它将输出打印到stderr流中,而不是stdout. 尝试附加2>&1到命令的末尾(在 consoleLog.txt 之后),或者只使用&>而不是>.
stderr
stdout
2>&1
&>
>
使用 exec 重定向标准输出:
#!/bin/sh #Example script exec > consoleLog.txt wine Blockland.exe ptlaaxobimwroe -dedicated -port 30100