首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tee命令unix

Tee命令unix
EN

Stack Overflow用户
提问于 2012-08-30 00:12:34
回答 3查看 3.4K关注 0票数 1

如何将所有这些服务都放入日志文件中:

代码语言:javascript
复制
stop service 1
stop service 2
stop service 3

我希望所有这些服务日志都保存到一个文件中

我应该使用:

代码语言:javascript
复制
stop service 1 | tee log1.log
stop service 2 | tee log1.log
stop service 3 | tee log1.log

或者:

代码语言:javascript
复制
stop service 1 
stop service 2 
stop service 3 | tee log1.log

我还没有找到这样的问题谢谢!

EN

回答 3

Stack Overflow用户

发布于 2012-08-30 00:16:10

tee接受-a标志以附加到文件。因此,您应该能够通过执行以下命令将所有三个命令的输出重定向到单个文件:

代码语言:javascript
复制
stop service 1 | tee log1.log
stop service 2 | tee -a log1.log
stop service 3 | tee -a log1.log

(第一个命令将截断任何现有文件)

票数 5
EN

Stack Overflow用户

发布于 2012-08-30 00:20:16

另一种不使用tee的方法是简单地使用一个bash命令组,将stdout重定向到日志文件:

代码语言:javascript
复制
{ stop service 1; stop service 2; stop service 3 } > log1.log

使用>>运算符附加到日志文件,或使用&>>运算符附加stdoutstderr。也可以使用bash subshell:

代码语言:javascript
复制
( stop service 1; stop service 2; stop service 3 ) > log1.log
票数 4
EN

Stack Overflow用户

发布于 2012-08-30 00:25:01

代码语言:javascript
复制
{
stop service 1
stop service 2
stop service 3
} 2>&1 | tee log1.log

这将使用单个重定向操作处理所有三个命令的输出。它还包括日志文件中的错误。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12182191

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档