Linuxで環境を指定してコマンドを実行するenvについて説明します。
envコマンドの使い方
envコマンドの書式は以下の通りです。
1 |
env [オプション] [変数名=値] [コマンド [引数]...] |
環境を変更してからコマンドを実行します。envのみ入力した場合は、環境変数の一覧を表示します(printenvコマンドと同じ動作)。
オプション
-i | 環境が空の状態でコマンドを実行する |
-0 | 環境変数の一覧出力時に改行を入れない |
-u 変数名 | 指定した環境変数を一時的に削除して実行する |
環境変数の一覧を表示する
envのみを入力することで環境変数の一覧を確認できます。
1 |
$ env |
環境変数を指定してコマンドを実行する
以下は環境変数のLANGにC(英語)を設定して、dateコマンドを実行する例です。
1 2 3 4 |
$ env LANG=C date Mon Sep 26 22:19:34 JST 2016 $ date 2016年 9月 26日 月曜日 22:19:33 JST |
この例では比較のために環境変数を指定しない場合も実行しています。
環境が空の状態でコマンドを実行する
「-i」 オプションを指定することで、現在のオプションを無視してコマンドを実行できます。
1 2 |
$ env -i date Mon Sep 26 22:31:46 JST 2016 |
一時的に環境変数を削除してコマンドを実行する
「-u」オプションの後に削除したい環境変数を指定することで、実行時にのみ環境変数を無視します。
1 2 |
$ env -u LANG date Mon Sep 26 22:31:46 JST 2016 |
一時的に削除するだけなので、実行後には環境変数は元の値に戻ります。