🔖

PATH環境変数

2021/01/14に公開

はじめに

こんにちは、Rabeeです。
OSのPATH環境変数ついて質問を受けることがあったので説明します。
PATHはコマンドを利用する上で基礎知識なので知ってもらえたらと思います。

結論

ターミナル(コマンドプロンプト)でコマンドを実行する時に、
コマンド実行ファイルがが格納されているディレクトリを指定する。

手順を追って確認していきましょう

  1. whichコマンドでnpmコマンドが格納されているディレクトリを確認する。うん、あります。
  2. 存在しないコマンドを叩くともちろんNotFoundになりますね。
  3. じゃあ、コマンドを実行した時、どこからnpmコマンドを探してきているんでしょうか?
  4. PATH環境変数です!
  5. PATH環境変数には、ディレクトリパスが複数設定されています。ターミナルで以下を実行してみましょう。
    printenv PATH
    # もしくは
    echo $PATH
    
  6. たくさんディレクトリパスが表示されますね。これがコマンドを探しに行っている先です。
  7. PATH環境変数はどうやって指定しているんでしょうか?見てみましょう。
  8. 利用しているシェルの設定ファイルに書かれています。自身はZSHを利用しているので.zshrcに記述してます。
    export PATH=/usr/local/bin
    export PATH=/usr/bin:$PATH     # パスはコロン(:)で区切って記述します。
    export PATH=~/go/bin:$PATH     # $PATHは上で設定した環境変数のことで、後ろにくっつけているということになります。
    
  9. 上記で新しく環境変数を設定したら新しくターミナルを開き直すか、sourceコマンドを実行してファイルを読み込み直してください。
    source ~/.zshrc
    

PATH環境変数の役割と設定方法がわかりましたか?

注意点

シェル設定ファイルをいじる時に不安がある場合はかならずコピーを取ってください。
後で動かなくなってしまうと困るので。

cp ~/.zshrc ~/.zshrc.org     # cpコマンドはコピーコマンドです

おわり

Discussion