いろいろなところで詰まりがちなねこだくさんです。
このPATHを通すという作業、環境構築する際に言われるがままに意味もわからずやっていました。
なるほど(わからん)からチョットワカルになる程度まで勉強してみたいと思います。
おやくそく
コマンド行の頭についている$はプロンプトを表しているだけなのでまるごとコピペするとエラーになります。
$ echo $PATH
↓
echo $PATH
※環境変数の頭の$は削っちゃダメ
まずPATHって何
本来なら/bin/ls
のように長いパス(長くないけど)をフルパスといますが、これをいちいち打っていたのではめんどくさいです。ls
と打つだけでコマンド発行するために「コマンドサーチパス」を設定することをパスを通すといいます。
全然意味わかりませんね。実際に仮想環境Envaderを利用してやってみます。
PATHの確認
まず$PATHってのは環境変数です。
環境変数って何?
OSが動いているときに使える変数のこと。
OS上の様々なプログラムやコマンドから使用することができます。
※プログラムの中で環境変数を変更した場合はそのプログラムを実行しているときのみ影響します。
続きです。echo
コマンドで$PATH
を指定すると指定されているPATHが表示されます。
$ echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games
それぞれのPATHは:
で区切られていることがわかります。
whichコマンド
あれ?lsコマンドのフルパスってなんだっけ?というような場合、which
コマンドとコマンド名を指定することでそのコマンドのフルパスを表示します。
実行ファイルの場所を示しています。
$ which ls
/bin/ls
※オプションに-a
をつけることでエイリアスを含む全てのパスを表示します。
いよいよPATHを通します
export
というコマンドを使用してPATHを通します。
export PATH=$PATH:/home/test
# echoコマンドで確認
echo $PATH
/sbin:/usr/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/home/test
コード参考:PATHの使い方
末尾に'/home/test'が追加されました。
これでこのディレクトリにあるシェルスクリプトが認識されコマンドとして実行できるようになります。
※export
コマンド自体は環境変数やシェル変数を設定するものです。
PATHを通すとは
- 環境変数にコマンドを探すパスを設定することでコマンドを実行することができるようにすること。
- コマンドのフルパスを調べるにはwhich
謎の儀式からそういう作業であるという認識にレベルアップしました。
猫たちはそのへんで転がっています。
が、今日のところは公園で撮った桜を上げときます。
コメント