#!something を追加しても PATH は参照されません

#!something を追加しても PATH は参照されません

Linux では、#!/bin/bash を追加すると、実行可能ファイルが bash で実行されるようになります。

なぜフルパスで指定されているのか疑問に思いました。binはPATHで指定されたパスにあるので、#!bashを追加するだけで見つかると思います。

これは本当に不便なことではなく、ただ興味があるだけです。ありがとう

答え1

動作の仕方は#!、インタープリタのフルパス名が続く必要があることです。検索する場合、$PATH一般的に使用される構文は#!/usr/bin/env<インタープリタ>です。たとえば、

#!/usr/bin/env perl

perlは を検索します$PATH。これがなぜ機能するかの詳細については、マニュアルページを参照してください。環境そしてその素晴らしい議論下 "/usr/bin/env はどのプログラムを使用するかをどのように認識するのでしょうか?このフォーラムで「」を参照してください。

関連情報