linux - Bash:将程序输出打印到文件,而不是在屏幕上

标签 linux bash shell

我有一个 bash 文件可以为我启动一些服务器。我希望由正在运行的服务器生成的所有程序 std 输出都保存在文件中,而不是由 bash 在屏幕上打印。这就是我编写 bash 文件的方式:

#!bin/sh

rm -rf database.db

go run server.go -typ=server -id=Server1 -host=localhost -port=9998 | tee logs/Server1.log &
go run server.go -typ=server -id=Server2 -host=localhost -port=9999 | tee logs/Server2.log &
go run server.go -typ=server -id=Server3 -host=localhost -port=9998 | tee logs/Server3.log ;

当我运行bash my_script.sh时,输出确实被写入.log文件,但是相同的输出仍然打印在屏幕上。我该如何修复它?

最佳答案

tee 命令将输出重定向到标准输出和文件。

如果您希望日志仅重定向到文件,请使用>,例如my_command > out_file

关于linux - Bash:将程序输出打印到文件,而不是在屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48506232/

相关文章:

c - C : using awk getting runaway string constant error 中的 shell 脚本

linux - 自定义 bash 命令在终端中有效但在脚本中无效

ios - 由于 & 符号无法识别路径

Java ProcessBuilder 和 bash

mysql - 如何让 bash 将命令的一部分解释为 MySQL 命令

linux - 如何检查字符串是否包含特殊字符(!@#$%^&*()_+)

c++ - 将 boost 与自己的 header 和源代码链接起来

linux - 使用 Shell 脚本解压

linux - 如何在 bash 变量中提取虚线分隔单词的首字母?

bash - mpc 当前歌曲 bash 脚本故障安全