Bash man stdout 问题

2015-09-18 23:28:44 +08:00
 Orzzzz

下面第一行命令返回的是 whoami 的结果,但是把这行命令重定向到文件中就变成了man ls 的结果了,实在想不通,而且用管道的话 man -P whoami ls | cat 也是返回的ls的手册。想不通啊想不通!

man -P whoami ls
man -P whoami ls > whoami

求大神指点!跪谢!

1546 次点击
所在节点    Linux
5 条回复
wsy2220
2015-09-18 23:44:19 +08:00
bash 重定向了 man 的 stdout ,没有重定向 whoami 的。
Orzzzz
2015-09-19 09:23:41 +08:00
@wsy2220 我敢说你不知道上面这条命令是什么意思,甚至都没敲过。
wsy2220
2015-09-19 09:41:25 +08:00
@Orzzzz 说话不要太绝对好么,你 man 一下 man 看看-P 是什么意思, whoami 是 man fork 出来的, bash 当然不会重定向 whoami 的 stdout 。
Orzzzz
2015-09-19 12:43:14 +08:00
`man` doesn't use a pager if the output is not a terminal but a file or a pipe. So the` -P `option is ignored in that case.

刚在 Askubuntu 上的回答。
Orzzzz
2015-09-19 12:43:30 +08:00
@wsy2220 看上条。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/221880

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX