で始まる行#
はすべてコメントです。PATH=
は変数の値を設定しPATH
、$PATH は現在の値に展開さexport
れ、最初の は端末から実行するプログラムで値を使用できるようにします。
PATH の初期値が であるとし/usr/bin:/bin
ます。
export PATH=/opt/local/bin:/opt/local/sbin:$PATH
$PATH
$PATH の以前の値に置き換えます。したがって、上記のセットPATH
は
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin
前進し、
export PATH=$PATH:/usr/local/mysql/bin
ここでも、$PATH を以前の値に置き換えます。
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
後
export PATH=/android-sdks/platform-tools:~/android-sdks/tools:$PATH
我々は持っています
/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
(これ~
は、ホーム ディレクトリへのパスに置き換えられる特別なトークンですが、画像を取得する必要があります。)
そして最後に、その後
export PATH=/Users/android-sdks/platform-tools:/Users/android-sdks/tools:$PATH
我々が得る
/Users/android-sdks/platform-tools:/Users/android-sdks/tools:/android-sdks/platform-tools:~/android-sdks/tools:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/local/mysql/bin
PATH
コマンドラインに入力したコマンドを検索するために使用されます。したがって、 と入力foo
すると、シェルは指定された順序で以下の名前を探します。
/Users/android-sdks/platform-tools/foo
/Users/android-sdks/tools/foo
/android-sdks/platform-tools/foo
~/android-sdks/tools/foo
/opt/local/bin/foo
/opt/local/sbin/foo
/usr/bin/foo
/bin/foo
/usr/local/mysql/bin/foo
PATH の現在の値を確認するには、次を実行します。
echo $PATH
新しいディレクトリを の最初に追加する必要がありますかPATH
、それとも最後に追加する必要がありますか? 常に問題になるわけではありませんが、問題になる場合もあります。システムが最初にチェックする場所によって異なります。
デフォルトのディレクトリを調べる前に他のディレクトリを検索することが目的の場合は、最初に追加する必要があります。たとえば、git
ソース コードの管理に使用されるユーティリティです。git
~/git に新しいバージョンをインストールしてデフォルトで使用したい場合は、次のようにします。
export PATH=~/git/bin:$PATH
これは、~/git/bin/git が /opt/local/bin/git をオーバーライドすることを意味します。
一方、管理者がgit
システム全体にインストールすることを好むかもしれません。管理者が誰でも利用できるようになるまでローカル コピーのみを使用したい場合、これはより理にかなっています。
export PATH=$PATH:~/git/bin
この場合、 がパスの前にあるため、まだ存在しない場合~/git/bin/git
にのみ使用されます。/opt/local/bin/git
/opt/local/bin
多くのコマンドが複数の場所に存在することはありません。たとえばmy-backup-script
、Apple Time Capsule の に書いて置くことができます/Volumes/Capsule/scripts
。my-backup-script
競合する他の場所で呼び出されるコマンドがある可能性は低いです。したがって、次のコマンドのいずれかを使用するmy-backup-script
と、適切なスクリプトを入力して実行できます。
export PATH=/Volumes/Capsule/scripts:$PATH
また
export PATH=$PATH:/Volumes/Capsule/scripts
1つが良いですか?私のアドバイスは、後者を行うことです。システムは$PATH
、見つける必要があるすべてのコマンドについて、 のディレクトリを順番に検索する必要があることに注意してください。ほとんどのコマンドはローカル システム上にあるため、パスの最後に低速のネットワーク ストレージを配置するのが最も理にかなっています。