9
「#!/ path / to / NAME」の代わりに「#!/ usr / bin / env NAME」をシバンとして使用する方が良いのはなぜですか?
#!/path/to/NAME他の人(同じツールNAMEを使用)がshebang を持っている間に、他の人から取得したスクリプトの中にはshebang を持っていることに気付き#!/usr/bin/env NAMEます。 両方とも正常に動作するようです。チュートリアル(Pythonなど)では、後者の方が優れているという提案があるようです。しかし、なぜそうなのか、私にはよくわかりません。 後者のシバンを使用するには、NAMEがPATHに含まれている必要がありますが、最初のシバンにはこの制限がありません。 また、(私には)NAMEの場所を正確に指定するため、最初の方がより良いシバンになるようです。そのため、この場合、NAMEのバージョンが複数ある場合(たとえば、/ usr / bin / NAME、/ usr / local / bin / NAME)、最初のケースはどちらを使用するかを指定します。 私の質問は、なぜ最初のシバンが2番目のシバンよりも好まれるのかということです。
459
shell-script
shebang