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


19

PATHにディレクトリを追加する方法で説明されている手順を理解したと思います$ PATHへのディレクトリの追加について。しかし、$ MANPATHまたは$ INFOPATHにディレクトリを追加する方法がわかりません。

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

回答:


24
  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  

1
Ubuntu Preciseにtexlive 2012をインストールして、echo $MANPATH戻っ/usr/local/texlive/2012/texmf/doc/manてきました。構成bashレポートにパスを追加して/usr/local/texlive/2012/texmf/doc/man:/usr/local/texlive/2012/texmf/doc/manも、zshは引き続きレポートし/usr/local/texlive/2012/texmf/doc/manます。zshの場合、パスをに追加します/etc/zsh/zshrc。これが正しいかどうかはわかりません。ここ/etc/environment提案されているように、編集も試みましたが、成功しませんでした。
JJD

@JJD-こちらの記事もご覧ください:カスタムヘルプ/ man
like

書いた後、どのコマンドを見ることができMANPATH=/usr/local/texlive/2010/texmf/doc/man:$MANPATH; export MANPATHますか?試したところman tlmgr、存在しないと言われました。
アルトゥーロ

2

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

MANDATORY_MANPATH        /usr/local/myproject/man

0

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

かろうじて違う。bash(シェル/端末)がプログラムをチェックする場所の-区切りリストが$PATH含まれます:

たとえば、次のように入力した場合cat、端末は、手段は第1、第2、第3の要素に目を通すためにあることをどのような理解の方法$PATH、その後、保存、それは以降の呼び出しのために最初に見つかった場所を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で説明されています

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.