#!_ perl は #!/usr/bin/env perl と同じですか?

#!_ perl は #!/usr/bin/env perl と同じですか?

私の環境は次のように言います。

_=/usr/bin/env

Shebangについて質問がありますが、次のように入力すると正しいですか?

#!_ perl

答え1

いいえ、できません。この場合、通常は_環境変数を意味します。$_前の行の最後のパラメータに設定。それは普遍的ではありません/usr/bin/env

ただし、shebangは環境変数を拡張しません。これは#!オプションのスペース、コマンド名、最大1つのスペース、および1つの引数で構成されています(一部のシステムではより多くのスペースを許可しますが、すべては許可しません)。したがって、shebangはプログラムを実行しようとしますが、_これは望むものではないかもしれません。

これがうまくいっても混乱する可能性があるため、他の人が使用することを意図した明確なコードではこれを避けることをお勧めします。

関連情報