このエントリーをはてなブックマークに追加


環境変数の確認(env, printenvの違い)

環境変数の設定内容を確認したい場合は以下のコマンドで確認することができます。
環境変数の一覧が表示されます。

  • printenv
  • env
  • set (bsh, bashの場合)

関連資料

printenv

printenvは環境変数の一覧を表示します。

$ printenv 
HOSTNAME=centos
SHELL=/bin/bash
TERM=xterm
HISTSIZE=1000
KDE_NO_IPV6=1
USER=sakura
<snip>
KDEDIR=/usr
MAIL=/var/spool/mail/sakura
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/sakura/bin
INPUTRC=/etc/inputrc
PWD=/home/sakura
LANG=ja_JP.UTF-8
KDE_IS_PRELINKED=1
SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass
SHLVL=1
HOME=/home/sakura
LOGNAME=sakura
<snip>

env

envもオプションをつけずに実行した場合は環境変数の一覧を表示します。
引数を指定した場合は、以下のような使用法があります。

  • 特定のコマンドのみに環境変数を与えたい場合
    以下、CソースでTESTという環境変数の値を表示するプログラムです。
  1. 環境変数TESTを表示するCソース
    #include <stdio.h>
    #include <stdlib.h>
    
    int main(void)
    {
      char *env;
      env = getenv( "TEST" );
      printf( "%s\n", env );
      return 0;
    }
  2. テスト用のCソースを以下のようにコンパイル
    $ gcc putenv.c -o putenv
     
  3. envを利用して実行
    envの後ろに指定した環境変数TESTの値が表示されます。
    $ env TEST="HELLO" ./putenv
    HELLO
     
  4. grepコマンドを利用してテスト
    $ env TEST="Test" printenv | grep TEST
    TEST=Test
    $ echo $TEST
            ←何も表示されません。(つまりenvで指定したコマンドのみTEST環境変数が有効になっています)
    $

尚、env - (ハイフンを引数として渡す)を実行すると環境変数がクリアされます。

以上、環境変数の確認でenvとprintenvの違いでした。



添付ファイル: fileputenv.c 838件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:13