ENV(1)

名前
env - 変更した環境でプログラムを実行する

書式
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]

説明

環境変数 NAME を VALUE に設定し、 COMMAND を実行します。

長いオプションで必須となっている引数は短いオプションでも必須です。

-a, --argv0=ARG
    COMMAND に ARG を 0 番目の引数として渡します。

-i, --ignore-environment
    環境変数がない状態で開始します。

-0, --null
    出力行の区切りとして改行文字ではなく NUL を使用します。

-u, --unset=NAME
    環境変数から指定した変数を削除します。

-C, --chdir=DIR
    作業ディレクトリを DIR に変更します。

-S, --split-string=S
    S を個々の引数に分割します。 shebang 行で複数の引数を渡すのに使用されます。

--block-signal[=SIG]
    シグナル SIG の COMMAND への配送をブロックします。

--default-signal[=SIG]
    シグナル SIG の処理をデフォルトにリセットします。

--ignore-signal[=SIG]
    シグナル SIG の処理を何もしないに設定します。

--list-signal-handling
    シグナルの処理がデフォルトと異なるものを標準エラーに表示します。

-v, --verbose
    処理ステップ毎に詳しい情報を表示します。

--help
    使い方を表示して終了します。

--version
    バージョン情報を表示して終了します。

- だけを指定した場合は -i を指定したことになります。 COMMAND が指定されなければ最終的な環境変数を表示します。

SIG には、 'PIPE' のようなシグナル名、 '13' のようなシグナル番号指定できます。 SIG が指定されなかった場合、既知のすべてのシグナルが対象となります。 複数のシグナルをコンマ区切りで指定できます。引数のない SIG は何もしません。

  終了ステータス:

125 env コマンド自身が失敗

126 COMMAND が見つかったが、起動できない

127 COMMAND が見つからない

-   COMMAND の終了ステータスなど

スクリプトオプションの処理
-S オプションを使うと、スクリプト中で複数の引数を指定できます。 1.pl という名前のスクリプトの最初の行に以下が含まれているとします。

    #!/usr/bin/env -S perl -w -T
    ...

これは以下が実行されます。 perl -w -T 1.pl

'-S' パラメータを指定しない場合、おそらく以下のような感じでスクリプトは失敗するでしょう。

    /usr/bin/env: 'perl -w -T': No such file or directory

詳細については完全なドキュメントを参照してください。

注意
POSIX の exec(3p) のページには以下のような記載があります。
    「多くのアプリケーションは、 特定のシグナルがデフォルト動作に設定されていたりブロックされていない状態で アプリケーションが開始される、という誤った前提を置いている。。。。 そのため、最も良いのは、明確な理由がない限りは exec の前後でシグナルを ブロックしたり無視したりしないことだ。 特に、(密接に連携しているわけではない) 任意のプログラム間の exec では シグナルをブロックしないのがよい。」

作者
作者 Richard Mlynarik、 David MacKenzie、および Assaf Gordon。

バグのレポートについて
バグのレポートは bug-coreutils@gnu.org までお寄せ下さい。
GNU coreutils のホームページ: <https://www.gnu.org/software/coreutils/>
一般的な GNU ソフトウェア使用に関するヘルプは <https://www.gnu.org/gethelp/> です。
翻訳に関するバグは <https://translationproject.org/team/ja.html> に連絡してく ださい。

著作権
Copyright © 2025 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

関連項目
sigaction(2), sigprocmask(2), signal(7)

完全なマニュアルは <https://www.gnu.org/software/env> か、
ローカルで有効になっていれば info '(coreutils) env invocation' です。

日本語訳
対応バージョン:9.8 翻訳日:2025-11-13 翻訳者:ribbon