linux - 如何使用 tee 获取 stdinput 和 stderror
问题描述
使用 tee,您可以将标准输入、标准输出和标准错误保存到文件中。我想在登录用户时保存所有标准输入、输出和错误,但它不起作用。
这是我正在尝试的:
$ su - username 2>&1 | tee -i /var/tmp/file.txt
它允许我输入密码,仅此而已。
知道为什么,选项或建议吗?
解决方案
使用 tee,您可以将标准输入、标准输出和标准错误保存到文件中。
不可以 - 您只能将(即tee
's)标准输入(可能是另一个进程的标准输出或标准错误)保存到文件中。
您想要的似乎是终端上打印的所有内容的打字稿,所以我建议使用script
:
script -c 'su - username' /var/tmp/file.txt
推荐阅读
- php - 如何使用 Laravel 工厂上的其他状态创建“别名”数据库状态?
- ios - 是否有可能专注于选定的 SCNNode
- javascript - 使用云功能将文档复制到 Firestore 中的新集合中
- python - 如何使用子进程模块python输入任何键以获取openssl命令的完整输出
- c++ - Bazel 构建权限被拒绝
- android - 单击通知时,Android上的Flutter应用程序不会打开应用程序
- css - Webpack 特定的 css 包
- php - 无法从 Angular 到 Symfony 检索已发布的表单和文件数据
- javascript - 无法在 Reactjs 上仅使用 axios 发送填充的输入
- azure - “az aks create”为每个 AKS 群集重用服务主体。那安全吗?