ここで、この行を .zshrc
に追加します :
export PATH=/home/david/pear/bin:$PATH
編集 :これは機能しますが、ZSH が $PATH
のような変数に提供する構造化されたインターフェイスを利用するため、上記の唯一の回答の方が優れています。 .このアプローチは bash
の標準です 、しかし、私の知る限り、ZSH がより良い代替手段を提供している場合、それを使用する理由はありません。
実際、ZSH を使用すると、環境変数の特別なマッピングを使用できます。したがって、次のように簡単に実行できます:
# append
path+=('/home/david/pear/bin')
# or prepend
path=('/home/david/pear/bin' $path)
# export to sub-processes (make it inherited by child processes)
export PATH
私にとって、これは他の変数に伝播できる非常に優れた機能です。例:
typeset -T LD_LIBRARY_PATH ld_library_path :
追加できます あなたの PATH
に 最小限の方法で。複数の要素を追加する場合を除き、括弧は必要ありません。また、通常、引用符は必要ありません。 追加する簡単で短い方法 です:
path+=/some/new/bin/dir
この小文字の構文は path
を使用しています 配列として 、さらに大文字のパートナー PATH
にも影響します。 (typeset
経由で「バインド」されます) ).
(:
がないことに注意してください 区切りとして必要/希望 .)
一般的なインタラクティブな使用法
次に、新しいスクリプト/実行可能ファイルをテストするための一般的なパターンは次のようになります:
path+=$PWD/.
# or
path+=$PWD/bin
一般的な構成の使用法
.zshrc
の周りにパス設定を振りかけることができます (上記のように)、自然に先にリストされた設定が優先されます。 (ただし、「プリペンド」フォーム path=(/some/new/bin/dir $path)
を使用したい場合もあります) ).
関連情報
path
を処理しています この方法 (配列として) は、次のことも意味します:rehash
を行う必要はありません 新しくパスされたコマンドを取得します。
vared path
も見てください。 path
を編集する動的な方法として (およびその他のもの)
path
だけに興味があるかもしれません この質問については、エクスポートと配列について話しているため、通常、配列はエクスポートできないことに注意してください。
PATH
も防ぐことができます 重複したエントリーを受け付けないようにする (これとこれを参照):
typeset -U path
事前入力された PATH
パスにすでにいくつかのエントリが含まれている理由は、システム シェル ファイルがパスを設定しているためです。これについては、他のいくつかの投稿で説明しています:
- $PATH 環境変数が設定される理由と場所は?
- $PATH のソースはどこですか? .zshrc に見つかりません