我有一个 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/