LinuxでPATHは幻想?実際のコマンド探索の仕組み
🕒
🔗
元記事を見る
カテゴリ
科学・技術Linuxでコマンドがどのように実行されるかを解説した記事。環境変数PATHによりコマンドが探索されるように見えるが、実際にはシェル(dashなど)がPATHを解釈し、パスを決定してexecveを呼び出している。またPythonやGo、Rustなど各言語の標準ライブラリもPATHの探索処理を自前で実装している。つまり、PATHはカーネルレベルでは存在せず、すべてユーザーランドの実装で機能しているというのが実態。シェバンの記述でも絶対パスが必須となる背景もこれに起因する。