
UNIX Cafe | 第10回
はじめに|シェルの“記憶ノート”を開いてみよう
ミナちゃんユニ先生、どうしてコマンドってどこでも動くんですか?
どのフォルダにいても ls が使えるのが不思議です!



ふふっ、それはね、シェルがちゃんと“場所のメモ”を持っているからだよ。そのメモこそが「環境変数」なんだ。
環境変数ってなに?



うわぁ〜、たくさん出てきました!
これ、ぜんぶシェルの頭の中にあるメモなんですね。



その通り。たとえば「ユーザー名」や「ホームディレクトリ」も、ここに書かれているんだ。
bash
$ printenv
または
bash
$ env「環境変数」は、シェルの中にある“メモ帳”のようなもの。
シェルがどんな設定や情報を覚えているのかを記録している。
PATHってなに?



これは、コマンドの“探し道マップ”みたいなものなんだ。
シェルはこの中の道を順番に探して、ls や cp を見つけて実行しているんだよ。



なるほど〜!
だから PATH に載ってない場所のコマンドは、見つけられないんですね。
bash
$ echo $PATHPATH は、シェルが「どの場所からコマンドを探すか」を記録している環境変数。
PATHを追加してみよう!



$PATH の後ろに追加してるんですね!
これでシェルの“地図”に新しい道が増えるってことですか?



その通り。
ただし、これは一時的な設定だから、
ずっと使いたいときは .bashrc や .zshrc に書いておくといいんだ。
例:/usr/local/bin を追加
bash
$ export PATH=$PATH:/usr/local/binexport コマンドは、環境変数を「シェル全体で使えるようにする」ための命令。
Try it!|PATHをのぞいてみよう



なるほど〜!
PATHに自分のフォルダを入れると、
自作スクリプトがどこからでも動くんですね。



そうだよ。
君の“カフェメニュー”が、システムの正式メニューに仲間入りしたようなものさ。
現在のPATHを確認
bash
$ echo $PATH一時的にPATHを追加
bash
$ export PATH=$PATH:~/my_scripts自作スクリプトを置いて実行してみよう
bash
$ ./my_scripts/morning.shもう一度確認
bash
$ echo $PATHコーヒーブレイク:ユニ先生のひとこと


まとめ
- printenv / env 環境変数の一覧を表示
- echo $PATH コマンドを探す場所を確認
- export PATH=… PATHを追加・変更
- .bashrc, .zshrc 環境設定を保存するファイル



今日は、シェルの“記憶ノート”をのぞいてみた感じでしたね。PATHって、コマンドたちの通り道だったんですね!



そうそう。
PATHは、シェルが「どこを探せばいいか」を覚えている“地図”なんだ。
新しい道を教えてあげれば、自分のスクリプトもちゃんと見つけてもらえるんだよ。




