linux - 如何使用 tee 获取 stdout 和 stderr

标签 linux su tee

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

这是我正在尝试的:

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

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

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

最佳答案

With tee you can save the standard input, standard output and standard error to a file.

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

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

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

关于linux - 如何使用 tee 获取 stdout 和 stderr,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56141525/

相关文章:

Linux 内核编译错误 Unsupported NR_CPUS for lb tracepoint

linux - 如何在后台运行 Keras、tensorflow 程序并保留所有日志?

linux - 定义代码段

android - 如何找到 Root设备?

Bash - 将 stdout 重定向到日志和屏幕,仅使用 stderr 进行日志记录

linux - 如何在 linux 中捕获 "sort -c"的输出

linux - Shell脚本根据参数将单行翻译成多行

python - 在 Python 中使用 Paramiko 模块切换到 root 用户时获取 "must be run from a terminal"

windows - msysGit 类 sudo 命令