首页 > 解决方案 > 如何使用 tee 获取 stdinput 和 stderror

问题描述

使用 tee,您可以将标准输入、标准输出和标准错误保存到文件中。我想在登录用户时保存所有标准输入、输出和错误,但它不起作用。

这是我正在尝试的:

$ su - username 2>&1 | tee -i /var/tmp/file.txt

它允许我输入密码,仅此而已。

知道为什么,选项或建议吗?

标签: linuxsutee

解决方案


使用 tee,您可以将标准输入、标准输出和标准错误保存到文件中。

不可以 - 您只能将(即tee's)标准输入(可能是另一个进程的标准输出或标准错误)保存到文件中。

您想要的似乎是终端上打印的所有内容的打字稿,所以我建议使用script

script -c 'su - username' /var/tmp/file.txt

推荐阅读