ニュースボイス

LinuxでPATHは幻想?実際のコマンド探索の仕組み

🕒

カテゴリ

科学・技術

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