ENV(1) | ユーザーコマンド | ENV(1) |
env - 変更した環境でプログラムを実行する
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]
環境変数 NAME を VALUE に設定し、 COMMAND を実行します。
長いオプションで必須となっている引数は短いオプションでも必須です。
- だけを指定した場合は -i を指定したことになります。 COMMAND が指定されなければ最終的な環境変数を表示します。
SIG には、 'PIPE' のようなシグナル名、 '13' のようなシグナル番号指定できます。 SIG が指定されなかった場合、既知のすべてのシグナルが対象となります。 複数のシグナルをコンマ区切りで指定できます。
GNU coreutils のオンラインヘルプ: <https://www.gnu.org/software/coreutils/> 翻訳に関するバグは <https://translationproject.org/team/ja.html> に連絡してください。 詳細な文書 <https://www.gnu.org/software/coreutils/env> (ローカルでは info '(coreutils) env invocation' で参照可能)。
-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
さらなる詳細は info 形式のドキュメントを参照してください。
このオプションを使うと、シグナルハンドラーに デフォルトの動作を設定できます。 これは、従来のシェルの trap コマンドではできません。 以下の例では、このコマンドを起動したプロセスでこのシグナルが どのように処理されていたとしても、 seq は必ず SIGPIPE で終了します。
sh -c 'env --default-signal=PIPE seq inf | head -n1'
POSIX の exec(2) のページには以下のような記載がある。
作者 Richard Mlynarik、 David MacKenzie、および Assaf Gordon。
Copyright © 2020 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)
env の完全なマニュアルは Texinfo マニュアルとして整備されている。もし、 info および env のプログラムが正しくインストールされているならば、コマンド
を使用すると完全なマニュアルを読むことができるはずだ。
2021年5月 | GNU coreutils |