web-dev-qa-db-ja.com

$ MANPATHが設定されている場所を確認する方法は?

環境変数$MANPATHが設定されている構成ファイルを確認するにはどうすればよいですか?値をバックトレースする方法はありますか?

findまたはgrepを使用してファイルシステム全体をgrepできることを認識しています。ほとんどの場合、zshの代わりにbashを使用しています。 Ubuntu Preciseを実行します。

4
JJD

他の人がすでに書いたように、UbuntuはデフォルトでMANPATHを設定しません。 .profileを編集して、必要に応じてMANPATHを追加できます。しかし、Ubuntuはあなたのマンパスに関する情報をどこで取得しますか?

この情報は/etc/manpath.configで設定されます。パッケージman-dbは、この情報を使用してmanのパスを構成します。環境変数MANPATHは、ファイルmanpath.configよりも優先されます。このファイルには、次の(おそらくそれ以上の)エントリがあります。

MANDATORY_MANPATH /usr/share/man
MANPATH_MAP /usr/bin /usr/man
DEFINE troff groff -mandoc

最初の行は、MANPATHに含まれるディレクトリを自動的に生成するソフトウェアに指示します。通常、/usr/man/usr/share/manなどがここで設定されます。

次は、ユーザーPATHから正しいMANPATHへのマッピングです。ユーザーのPATH/usr/binがある場合、上記の例ではMANPATH/usr/manが含まれている必要があります。

DEFINE値には、ページャーユーティリティ用の引数とプログラムのデフォルトセットがあります。

5
qbi

Ubuntuはデフォルトで$MANPATHを設定しないため、検索は~/.{ba,z}shrcとそれに含まれるファイルに限定できます。

Manコマンドにコンパイルされた検索パスは、man -wで見ることができます。私のシステム(12.10)では、これは/usr/local/man:/usr/local/share/man:/usr/share/manを返します

4

実行してみてください

zsh -x -ls -c "exit" 2> Shell-startup-output

このコマンドの実行後、ファイルShell-startup-outputには、シェルの起動時にソースされている各ファイルが表示されます。次に、これらの各ファイルを調べて、$MANPATH$が設定されているファイルを確認できます。

これがうまくいかない場合は、grepまたはfindを使用するしかありません。

1
Andrew Johnson