web-dev-qa-db-ja.com

MANPATHまたはINFOPATHにディレクトリを追加するにはどうすればよいですか?

$ -PATHにディレクトリを追加することについて PATHにディレクトリを追加する方法? に記載されている指示を理解していると思います。しかし、$ MANPATHまたは$ INFOPATHにディレクトリを追加する方法がわかりません。

また-助けを求めてあちこち探し回っていると、指示がexport PATH=/usr/share/lib/something:$PATHを言うこともあれば、export PATH=$PATH:/usr/share/lib/somethingを言うこともあることに気付きました。どっち?

19
isomorphismes
  1. これら2つはほとんど同じです。

    export PATH=/usr/share/lib/something:$PATH 
    export PATH=$PATH:/usr/share/lib/something
    

    唯一の違いは、最初のディレクトリは追加するディレクトリを前に配置し、2番目のディレクトリは$PATHの現在のディレクトリの後ろに配置することです。 /usr/share/lib/something内のいずれかのディレクトリ内に同じ名前を持つコマンドが$PATH内にある場合にのみ重要です。

  2. 投稿したリンクから必要に応じて$MANPATHまたは$INFOPATHにディレクトリを追加するには、リンク内の設定ファイルを変更します。

    bash.bashrcのグローバルバージョンを開くには:

    Sudo vi /etc/bash.bashrc
    

    最後に追加するには:

    PATH=/usr/local/texlive/2010/bin/x86_64-linux:$PATH; export PATH
    MANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATH
    INFOPATH=/usr/local/texlive/2010/texmf/doc/info:$INFOPATH; export INFOPATH
    

    これにより、$PATH$MANPATH、および$INFOPATHが設定されます。また、次のように/etc/manpath.configを編集するよう指示されます。

    Sudo vi /etc/manpath.config
    

    そして追加する

    MANPATH_MAP /usr/local/texlive/2010/bin/x86_64-linux /usr/local/texlive/2010/texmf/doc/man
    

    # set up PATH to MANPATH mappingの下。


これについて確信が持てない場合は、次の方法で1番目のバックアップを作成します(決して悪いことではありません)。

Sudo cp /etc/bash.bashrc /etc/bash.backup_$(date +"%Y_%m_%d").bashrc
Sudo cp /etc/manpath.config /etc/manpath.backup_$(date +"%Y_%m_%d").config

奇妙な文字列が現在の日付に変わります。混乱した場合は、元のファイルにバックアップをコピーして戻します。

$ touch test1
$ cp test1 test1.$(date +"%Y_%m_%d")
$ ls
test1  test1.2014_11_14  
23
Rinzwind

マニュアルページが/usr/local/myproject/manにある場合は、それを/etc/manpath.config(の最後)に追加するだけです。

MANDATORY_MANPATH        /usr/local/myproject/man
2
Michel

x:y:z:$PATHまたは$PATH:x:y:z

かろうじて違う。 $PATHには、bash(シェル/ターミナル)がプログラムをチェックする場所の:で区切られたリストが含まれます。

たとえば、catと入力すると、端末が$PATHの最初、2番目、3番目の要素を調べて、 save 見つけた最初の場所を意味します後でcatを呼び出すため。

2つの異なる場所にプログラムの2つの異なるバージョンがあり、そのうちの1つが優先され、$PATHがシェルに間違った順序で検索するように指示した場合、問題があります。そうでなければ、問題ありません。


書き出す

ターミナルを開いて入力します

echo $a
a=5
echo a
echo $a

a=5が変数値を設定し、$aが値ではなく変数名を参照していることがわかります。

2番目のターミナルを開き、echo $aと入力します。再び空白になります。

exportと割り当て(=)の違いは次のとおりです。 https://stackoverflow.com/questions/1158091/defining-a-variable-with-or-without-export

0
isomorphismes