bash - `man` 不尊重 `MANPAGER` 除非它被显式调用
问题描述
我在 Mac OS 上,使用 GNU Bash 和 GNU man-db,我MANPAGER
设置为most
.
$ uname
Darwin
$ bash --version
GNU bash, version 5.0.11(1)-release (x86_64-apple-darwin19.0.0)
...
$ man --version
man 2.8.5
$ echo $MANPAGER
most
当我调用man ls
时,我看到man
不尊重我的MANPAGER
.
但是当我调用时MANPAGER=most man ls
,man
用于most
显示手册页。
(1) 发生了什么man
无法看到/使用我的MANPAGE
环境变量。我不知道如何解释这种观察到的行为。
(2) 我怎样才能man ls
看到/使用我的MANPAGE
环境变量,这样我就可以简单地调用 asman ls
而不必调用 as MANPAGE=most man ls
。
解决方案
与man
具体无关,我只是没有将环境变量导出到.profile
. 无论出于何种原因,我认为export
在.profile
. 更改线路MANPAGER=man
以export MANPAGER=man
解决我的问题。