答え1
に設定すると、#!/bin/sh
ファイルに直接移動します/bin/sh
。
パラメータ#!/usr/bin/env sh
として実行するように設定します。これにより、スクリプトは明示的に実行されず、in変数を介して実行されます。/usr/bin/env
sh
sh
PATH
/bin/sh
答え2
他の多くの投稿(例:許可された回答これ)は、bin/sh
Solarisシステム(10以下)ではPOSIX互換シェルではありませんが、にあると述べました/usr/xpg4/bin/sh
。
この場合、#!/bin/sh
POSIX規格であれば正しく動作しないことがあります。しかし、#!/usr/bin/env sh
それが必要なシェルを指すかどうかは疑問です。