
UNIX Cafe | 第10回
はじめに|シェルの“記憶ノート”を開いてみよう
ターミナルで ls や cp を入力すると、
どのフォルダにいても同じようにコマンドが実行されます。
その理由は、シェルが 環境変数 という仕組みを使って、
必要な情報をあらかじめ「記憶」しているからです。
この記事では、環境変数と PATH の役割を、基本から整理します。
環境変数とは何か
環境変数とは、
シェルが動作するために覚えている設定情報のことです。
たとえば、次のような情報が含まれています。
- ユーザー名
- ホームディレクトリ
- 使用中のシェル
- コマンドの検索場所
環境変数は、シェルの中にある、設定用のメモ帳のような存在です。
環境変数を確認する方法
現在の環境変数は、次のコマンドで確認できます。
printenv
または
envたくさんの項目が表示されますが、それらすべてがシェルの動作を支える設定情報です。
PATHとは何か
PATH は、環境変数の中でも特に重要な存在です。
PATH には、
「コマンドを探しに行くフォルダの一覧」 が登録されています。
シェルはコマンドを実行するとき、
PATH に書かれたフォルダを上から順に探します。
PATHを確認してみよう
現在の PATH は、次のコマンドで確認できます。
echo $PATH複数のフォルダが : で区切られて表示されます。この順番が、そのまま コマンド探索の順番です。
PATHに登録されていないとどうなる?
PATH に含まれていない場所にあるコマンドは、名前だけでは実行できません。
その場合は、
./script.shのように、場所を含めて指定する必要があります。
PATHを一時的に追加する方法
PATH は、その場限りで追加することもできます。
export PATH=$PATH:/usr/local/binこのコマンドは、
- もともとの PATH を保ちつつ
- 新しいフォルダを後ろに追加する
という意味です。
export の役割
export は、環境変数をシェル全体で使えるようにする命令です。
export しない場合、その変数は 今のシェルの中だけで有効になります。
設定を永続化するには?
毎回同じ設定を使いたい場合は、設定ファイルに記述します。
- bash →
.bashrc - zsh →
.zshrc
ここに PATH の設定を書いておくと、ターミナル起動時に自動で反映されます。
自作スクリプトとPATHの関係
自分で作ったスクリプトを PATH に登録すると、
- どのフォルダからでも
- コマンド名だけで
実行できるようになります。
これは、
自分のコマンドをシステムに正式登録する感覚に近いものです。
現在のPATHを確認
echo $PATH一時的にPATHを追加
export PATH=$PATH:~/my_scripts自作スクリプトを置いて実行してみよう
./my_scripts/morning.shもう一度確認
echo $PATHまとめ|PATHはシェルの「地図」
- 環境変数はシェルの設定情報
- PATH はコマンドを探す場所の一覧
echo $PATHで確認できるexport PATH=...で一時的に追加.bashrc/.zshrcに書くと永続化できる
PATH を理解すると、
ターミナル操作の仕組みが一気に見通しよくなります。
さらに学びたいあなたへ
📘 用途ごとに選ぶ Linux のおすすめ本

