首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Archlinux‘+ tee ==不清楚控制台IO

Archlinux‘+ tee ==不清楚控制台IO
EN

Unix & Linux用户
提问于 2016-03-21 19:29:25
回答 1查看 254关注 0票数 0

我在使用pacman实用工具捕获tee‘S IO时遇到了一个小问题。

代码语言:javascript
复制
pacman -S group-1 group-2 | tee pacman.log

还有一个问题:当pacman查询来自group-1的哪个包时,它要安装软件包的列表在某个地方消失了。如果我按Enter (即选择“所有包”),那么就会出现它们的列表,并且pacman会从group-2中查询有关包的信息,但是和前面一样,包列表是隐藏的。

EN

回答 1

Unix & Linux用户

发布于 2016-03-21 20:13:09

如果pacman写入标准错误,则不会使用给定的管道命令捕获该错误。您可以重定向标准错误以遵循标准输出,如下所示:

代码语言:javascript
复制
pacman -S group-1 group-2 2>&1 | tee pacman.log

但是,对于交互式命令行程序来说,一个不那么麻烦的解决方案是使用script捕获输出,例如,

代码语言:javascript
复制
script -c "pacman -S group-1 group-2" pacman.log

对Linux来说。这将捕获发送到终端的所有字符,而不会干扰提示。

对于特定的程序,您可能会找到特定的解决方案。例如,pacman手册说它有一个可能有用的选项:

-p, --print只打印目标,而不是执行实际操作(同步、删除或升级)。使用--print-format指定目标的显示方式。默认格式字符串是"%l",它用-S显示URL,用-U显示文件名,用-R显示pkgname-pkgver。

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

https://unix.stackexchange.com/questions/271314

复制
相关文章

相似问题

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