#!/usr/bin/env foo #!vs /usr/bin/foo [重複]

#!/usr/bin/env foo #!vs /usr/bin/foo [重複]

上記の形式のうち、bash、Pythonなどのスクリプトを実行するための「より良い」形式は何ですか?なぜ私はこれができないのですか#!$(which foo)?フルパスを指定する必要がありますかenv?私から集めたこれ答えは、/usr/bin/envすべての* nix-esに対してパスが不変であること/usr/bin/python3です。そうですか?

ベストアンサー1

#!$(which foo)その行はカーネルによって解釈されます$()

PATHカーネルはコマンドの環境変数を検索しません。そのため、コマンドへのフルパスを指定する必要があります。

プログラムを使用しても、別のパス(ホームディレクトリなど)に最新バージョンのPythonがインストールされている可能性があります/usr/bin/envPATH/usr/bin/python3

おすすめ記事