PRINTENV(1)

名称
printenv, env - 環境変数を表示する、環境変数の値を設定、表示する

書式
printenv [name] env [-] [-i] [name=value ...] [command]

解説
printenv は、環境変数の名前と値を、1 行あたりに 1 組の名前と値の形式で表示します。 name が指定されている場合は、その環境変数の値を表示します。

もし name で指定された環境変数が定義されていなかった場合、 printenv は戻り値として 1 を返します。それ以外の場合は 0 を返します。

シェルによっては、本ユーティリティに似ているまたは同等の、組み込み printenv コマンドを提供しています。 builtin(1) マニュアルページを参照してください。

env は、コマンドラインで指定された環境変数の値を変更してから command を実行します。 引数で name=value を指定することにより、環境変数 name の値を value にセットします。

オプションは次の通りです:

-i  指定された環境変数のみを使用して command を実行します。 env から継承した環境変数は無視します。

-   -i オプションと同じですが、後方互換性のためにあります。

command を指定しないで実行した場合、 env は すべての環境変数について ``name=value'' の形で環境変数の名前と値を表示 します。

env が有用なのは、 “#!” 構造とともに使用する場合です ( execve(2) を参照してください)。 “#!/usr/local/bin/foo” と “#!/usr/bin/env /usr/local/bin/foo” の唯一の違いは、 /usr/local/bin/foo 自身が解釈される場合でも後者は動作するという点です。 このように env を使用すると、望み通りに環境を設定できるだけでなく、 foo をパス無しで参照できます。

関連項目
csh(1), sh(1), execvp(3), environ(7)

歴史
printenv コマンドは 3.0BSD から登場しました。

バグ
理由は明白ですが、 env はイコール(``='') 記号が入ったコマンドを実行できません。