パス(PATH)を通すの意味をはっきり理解する
勉強用アウトプット。
技術を学ぶためにチュートリアルとかやると、パスを通す
っていうフローを通ったり通らなかったりしますね。
コマンド叩けば何とかなってたのですが、曖昧な理解だったのではっきりと理解する。(自己満)
パスを通すとは
コンピューター(シェル)に実行ファイルの場所を教えてあげること
パスを通すとどうなるの
どのディレクトリ、階層でコマンドを叩いても同じ結果が出力される
例えば、パスの指定なしでコマンド入力された時、
シェルがコマンドに対応する実行ファイルを
特定のディレクトリへ探しにいき
同じ名前の実行ファイルがあれば、それを実行してくれる。
このようなコマンド入力時にシェルが実行ファイルを探しに行くパスをコマンド検索パスと言う。
コマンド検索パスの確認
echo $PATH
パスは : で区切られている。
コマンド実行ファイルの格納場所の確認
which
を利用すれば指定したコマンドの実行ファイルがどこに格納されているのか確認できる。
lsコマンドの実行ファイルが/binディレクトリに格納されている場合、以下が出力される。
which ls /bin/ls
環境構築などでつまづきやすいところ
シェルは同じ名前の実行ファイルがあれば実行するので
同じ名前の実行ファイルが複数のコマンド検索パスにある場合は
echo $PATH
で左にある方のパスが優先されて実行される。
コマンドは実行されるが、意図通りの実行がされない場合、パスの優先度が原因の可能性がある。