前回の投稿
PATHを通すには特定のファイルにexport PATH=$PATH:追加したいコマンド検索パス
のような記述を追加するみたいですが、記述内容が理解できず「exportって何?何故$PATHを記述しているの?」状態だったのでそれに関しての備忘録です。
#PATHの通し方
~/.bashrc
や~/.bash_profile
に以下のコマンドを記述する。(記述はどちらかで良い。)
export PATH=$PATH:追加したいコマンド検索パス
export PATH=$PATH:追加したいコマンド検索パス
記述後は編集したファイルに対してsource
コマンドを実行しないとPATHが通らない。
source ~/.bashrc
source ~/.bash_profile
#exportコマンドとは?
以下のことができるコマンド
- 環境変数を表示する。
- 環境変数を設定する。
##環境変数を表示する
設定されている環境変数を表示する。
export -p
#出力結果(一部のみ記載)
declare -x PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
declare -x LANG="ja_JP.UTF-8"
declare -x SHELL="/bin/bash"
##環境変数を設定する
たとえば$ULB
という環境変数を設定したい場合、以下のように入力をする。
export ULB=/usr/local/bin
結果は表示されないが、環境変数$ULB
が設定されたのでecho $ULB
で確認できる。
echo $ULB
/usr/local/bin #出力結果
設定した環境変数を利用してみる。
#どちらのコマンドでも同じ結果が出力される。
ls /usr/local/bin
ls $ULB
##既に存在する環境変数を設定するとどうなるのか?
上書きされる。(再設定される。)
echo $ULB
/usr/local/bin #出力結果
export ULB=/u/l/b
echo $ULB
/u/l/b #出力結果
#環境変数を削除したい
unset
コマンドで環境変数を削除できる。先ほど設定した$ULB
を削除したい場合、以下のように入力する。
unset ULB #[$]は入力しなくて良い。
echo $ULB
#何も出力されない。
#exportを理解した上で再度PATHを通す記述を確認してみる
環境変数$PATH
を上書き(再設定)している記述だった。
export PATH=$PATH:追加したいコマンド検索パス
$PATH
を記述しなくても以下のように記述すれば同じ。
#現在$PATHに設定されているコマンド検索パスが以下の場合
#/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin
#どちらの記述でも$PATHに設定されるコマンド検索パスは同じ。
export PATH=$PATH:追加したいコマンド検索パス
export PATH=/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/sbin:追加したいコマンド検索パス
#追加するコマンド検索パスの優先順位を高くしたい
コマンド検索パスには優先度があり、echo $PATH
で出力された左から優先されるため、
追加するコマンド検索パスの優先度を高くしたい場合、以下のように記述する。
export PATH=追加したいコマンド検索パス:$PATH
そもそも.bash_profile、.bashrcとは?
- .bash_profile ? .bashrc ? いろいろあるけどこいつらなにもの?
- 本当に正しい .bashrc と .bash_profile の使ひ分け
- .bash_profileと.bashrcについて
お知らせ
Udemy で webpack の講座を公開したり、Kindle で技術書を出版しています。
Udemy:
webpack 最速入門(10,800 円 -> 2,000 円)
Kindle(Kindle Unlimited だったら無料):
React Hooks 入門(500 円)
興味を持ってくださった方はご購入いただけると大変嬉しいです。よろしくお願いいたします。