LoginSignup
1
4

Macでパスを通すコマンドを深掘りして解説

Last updated at Posted at 2021-08-16

春ですね😊
何か新しいことを始めたくなる、そんな季節。
「どれ、最近流行りのプログラミングとやらに挑戦してみようか」
そして高い確率で出てくるのがこれ

ターミナル.sh
echo 'export PATH=$PATH:`pwd`/path/to/bin' >> ~/.zshrc

このコマンドの嫌なところ

  • 記事によって書き方が違う
  • 自分のやりたい事によって違う

解説

改めて例のコマンドを見てみましょう。

ターミナル.sh
echo 'export PATH=$PATH:`pwd`/path/to/bin' >> ~/.zshrc

このコマンドは大きく分けて2つの命令の合体です

  • echo A >> B
  • export C=D

これが合体して echo 'export C=D' >> B の形になっています。

echo

echo A >> B と書くとA(文字)をB(ファイル)に追加で書き込むことができます。

例えばここに適当なファイルがあります。
適当なファイル変更前.png

コマンドを実行すると...
echo.png

文字が増えていますね☺️
適当なファイル変更後.png

実際には echo A >> ~/.zshrc となっているので
~/.zshrc というファイルの中身の文字が増えている予想がつきます。試しに覗いてみましょう。
zshrc.png

ふむふむ、やっぱり下に行が増えていましたね。


書き込まれたのは exportコマンドです
コマンドを使ってコマンドを書き込んだ と言うことです

この ~/.zshrc というファイルにコマンドを書いておくと、毎回ターミナルを開いたときに自動的に実行してくれます。
つまり毎回ターミナルを開くたびに export C=D と書くのが面倒なので ~/.zshrc に書き込んだと言うことです

何年か前のMacを使っている人は ~/.zshrc ではなく ~/.bash_profile です。

export

export C=D と書くと 環境変数 が作られます

このコマンドを日本語に翻訳すると...

ターミナル.sh

$ ねぇ、パソコン君。 貯金箱 の中身を見せて
🖥 貯金箱? 何それどこにあるの? (エラー)


# PATHという 環境変数 を作っておく
$ export PATH=/自宅/私の部屋/机/引き出しの中/貯金箱


$ ねぇ、パソコン君。 貯金箱 の中身を見せて
🖥 了解!
50円玉 12枚
100円玉 36枚
500円玉 8枚


さて、実際のコマンドを改めてみると、

export PATH=$PATH:`pwd`/path/to/bin

なので、日本語の /自宅/私の部屋/机/引き出しの中/貯金箱 の部分が $PATH:`pwd`/path/to/bin になったものですね





もう少し、あと少しだけ頑張って読んでいただければ幸いです。😭
さらに細かく考えます。$PATH:`pwd`/path/to/bin を分すると...

  • `pwd`
  • /path/to/bin
  • $PATH:

`pwd`

これは私が今いるパソコンの中の場所を表します。単品のコマンドとしても使えます。

pwd.png

pwd_stdout.png

どうやら現在私はパソコンの中の /usr/local という場所にいるようです。
ここは人によって違ってきます。

  • `pwd` 👍OK
  • /path/to/bin 👈次
  • $PATH:

/path/to/bin

パソコンに教えてあげたいファイルまでの場所です。
今私がいる場所が /usr/local なので、
`pwd`/path/to/bin と書くのと、
/usr/local/path/to/bin と書くのは 同じです

  • `pwd` 👍OK
  • /path/to/bin 👍OK
  • $PATH: 👈次

$PATH:

$PATH とは、あらかじめ作っておいた PATH のことです

$ export PATH=AAA
$ export PATH=$PATH:BBB

例えばこう書くと、


$ export PATH=AAA:BBB

こう書いたのと同じ意味になります


今までパソコンに教えてあげた PATH を消してしまわないように、古いPATHの後ろに付け足すように命令してます

  • `pwd` 👍OK
  • /path/to/bin 👍OK
  • $PATH: 👍OK

まとめ

さいごに改めてコマンド全体をみてみます

ターミナル.sh
echo 'export PATH=$PATH:`pwd`/path/to/bin' >> ~/.zshrc

この一行を無理やり日本語に直すと

パソコン君、今私がいる場所を基準に考えてね! (pwd)
/path/to/bin というファイルを覚えておいてね! (/path/to/bin)
今まで教えた他の場所も忘れないでね! ($PATH)
ターミナルを開くたびに毎回これを言うの面倒だから次からは自動的にやってね! (export X >> ~/.zshrc)

というコマンドなのでした。🥳

さいごに

うーん改めてまとめるとやっぱり難しい。必要な知識が多すぎる😂
長々と説明しましたが、結局のところ初心者にとっては "おまじない" で良いのだと思います。


少しでも知識習得の助けになっていれば幸いです。
長文を読んでいただきありがとうございました。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4