Указание $MANPATH после установки coreutils не влияет на отображаемую справочную страницу.

Я установил основные утилиты GNU через brew install coreutils. Я также добавил PATH=$(brew --prefix coreutils)/libexec/gnubin:$PATH в начало ~/.bash_profile(и это автоматически получено в ~/.bashrc), чтобы разрешить доступ к этим утилитам с их именами по умолчанию, а муравей не начинается с g.

Я также хочу получить доступ к manстраницам этих утилит, поэтому я добавил MANPATH="/usr/local/opt/coreutils/libexec/gnuman:${MANPATH-/usr/share/man}"в ~/.bash_profileкачестве второй строки. К сожалению, когда я печатаю, man lsнапример, я все еще получаю справочную страницу BSD вместо страницы Gnu. Как это исправить?

.bash_profile должен исходить из .bashrc, то есть наоборот, как вы сказали, gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html , но это, вероятно, не проблема
что echo $MANPATHпоказывает?
@Марк /usr/local/opt/coreutils/libexec/gnuman:/usr/share/man
Что произойдет, если вы- man gcat?
Я получаю справочную страницу для GNU cat.

Ответы (1)

Итак, после изучения $MANPATHLinux\UNIX я наткнулся на идею добавить export MANPATHсразу после определения в ~/.bash_profile. Это решает проблему по мере необходимости, т.е. дает мне доступ к manстраницам для coreutils, и только потом к их версиям BSD, если версии GNU не существует.