MacBookを買い替えました。
PATHをキレイに美しくしたいと思い、PATHをイジりました。
私は初心者なので、マシンのことを奥深くは理解できておりませんが、
私の経験と推測を元に記述します。
自分のshellを確認するコマンド
echo $SHELL
自分のPATHを確認するコマンド
echo $PATH
".zprofile"と".zshrc"はどこにあるか?
/Users/<ユーザー名>
".zshrc"を編集するには
Part1
open ~/.zshrc
で".zshrc"をテキストエディタで開きます。
Part2
なるべく".zshrc"の一番最後に、追加したいPATHを以下のように書きます。
export PATH=<追加したい絶対PATH>:$PATH
Part3
".zshrc"の編集が終わったら、command+Sで保存します。
Part4
source ~/.zshrc
で書き込んだPATHを反映させます。
Part5
terminalを再起動させます。
Part6
echo $PATH
でPATHを確認します。
Part7
なかなか1度で上手く行くことはまれなので、根気よくやりましょう。
".zshrc"編集の注意点
注意点1
編集する前に".zshrc"の内容をメモ帳などにコピペしましょう。
注意点2
消したいPATHをいきなり消さず、まずは
# export PATH=<消去したい絶対PATH>:$PATH
のようにコメントアウトして、徐々に試しましょう。
注意点3
".zprofile"はイジらない方が良いと、私は結論を出しました。
一度、".zprofile"を白紙にしたら、PATHがすごいことになりました。
使ったterminalコマンド
コマンド | 意味 |
---|---|
pwd | 現在地を表示 |
ls | 隠しフォルダとファイル以外を表示 |
ls -a | 隠しフォルダとファイルも表示 |
cd <行きたいディレクトリ> | <行きたいディレクトリ>に移動 |
cd .. | 一つ上のディレクトリに移動 |
cd // | 一番上の階層に移動 |
最後に
PATHの編集はなかなか難しいです。
健闘を祈る。
蛇足(推測)
例えば、
export PATH=/usr/local/bin:PATH
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH
export PATH=<絶対PATH1>:$PATH
export PATH=<絶対PATH2>:$PATH
export PATH=<絶対PATH3>:$PATH
と書いた場合、
echo $PATH
を実行すると、
<絶対PATH3>:<絶対PATH2>:<絶対PATH1>:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:PATH
のように表示されます。
つまり、
".zprofile"の1行目の
export PATH=/usr/local/bin:PATH
が
echo $PATH
の最後尾に記述されます。
".zprofile"の2行目の
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH
の
$PATH
部分が1行目の
/usr/local/bin:PATH
相当すると思われます。
だから、もし、ここまででだけで
echo $PATH
を実行できたら
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:PATH
となるでしょう。
1行目のPATHに2行目のPATHを被せたようにみえますね。
次に、
echo $PATH
に表示されるのは".zshrc"の内容です。
まず、
export PATH=<絶対PATH1>:$PATH
です。
だから、もし、ここまででだけで
echo $PATH
を実行できたら
<絶対PATH1>:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:PATH
次に、
export PATH=<絶対PATH2>:$PATH
です。
だから、もし、ここまででだけで
echo $PATH
を実行できたら、
<絶対PATH2>:<絶対PATH1>:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:PATH
となるでしょう。
最後に
export PATH=<絶対PATH3>:$PATH
です。
echo $PATH
の結果は、最初にお伝えした通り
<絶対PATH3>:<絶対PATH2>:<絶対PATH1>:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:PATH
となります。
結論、
PCは最初に".zprofile"を上から下へ読み込み、
次に、
".zshrc"を上から下へ読み込んでいるのではないかという推測できます。
蛇足2(推測)
先ほどのzprofileにもう一度いただこう。
export PATH=/usr/local/bin:PATH
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH
もし、これを以下のように一行目をコメントアウトする。
# export PATH=/usr/local/bin:PATH
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH
これを反映したのち、
echo $PATH
を実行すると、まったく見覚えがない長いPATHが登場する。
この長いPATHはどこのファイルに記述されているかというと
/etc/paths
/etc/paths.d/10-cyrptex
に記述されているようだ。
このことより、
zprolfileの一行目の最後に記述されている"PATH"は、先ほど紹介した"paths","10-cyrptex"にあたるのではないかと推測ができる。
また、
zprofileの二行目の最後に記述されている"$PATH"は、それ以前記述されたPATHを表していると思われる。