PRINTENV(1)

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

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

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

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

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

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

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

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

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

環境変数
env ユーティリティは、名前に ‘/’ が 1 個も含まれない場合、指定された utility を見付けるために PATH 環境変数を使用します。

診断

終了ステータス 126 は utility が見付かったものの実行不可だったことを示します。 終了ステータス 127 は utility が見付からなかったことを示します。

互換性
env ユーティリティは、 -i の同義語として、 - オプションを受け付けます。

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

規格
env ユーティリティは p1003.1-2001 に適合しています。

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

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