bashでexport コマンドを打つと、一時的に環境変数を変更できる

Linux
スポンサーリンク

 

$ export fff

コマンドで、一時的に環境変数を変更できる。

この変更はログアウトしてログインし直すと、リセットされる。

恒久的に変更する場合は、

.bashrc などに書く。

$ export LANG=C
$export PS1=]\u@\W]\\$

export を省略した場合は、環境変数ではなく、シェル変数がセットされる

 

頭のexportをつけない場合

例えば、

export LANG=C

でなく、

LANG=C

とした場合、「環境変数」ではなく、「シェル変数」として設定される。

 

「環境変数」と「シェル変数」の違いは、

  • 「環境変数」・・・全体に影響する
    • 例)
      • 他のコマンド
      • 子プロセス
        • bashからさらにbash呼び出した場合など
  • 「シェル変数」・・・実行中のシェルにのみ影響する

 

という感じ。

 

 

exportとenvの違い

envについて。

引数なしで

env

と入力した場合、環境変数の一覧が表示されるが、

 

exportコマンドのように環境変数の設定もできる。

ではexportとenvで何が違うのか。

 

printenv、env、set、exportコマンドの違いに関して

env は特定コマンドのみ変数を設定する便利な機能があり。以下はenv LANG=Cで date コマンド実行時のみ言語を変更している。

# env LANG=C date
Tue Apr 3 16:07:10 JST 2018

 

シェル変数と環境変数の違い - Qiita
シェル変数と環境変数シェル変数実行中のシェル内でのみ有効な変数子プロセスには引き継がれない利用例 echo $SHELL_VAR環境変数実行中のシ…

envの説明:

実行対象のコマンドに一時的な環境変数を設定して実行できる。env 環境変数名=値 コマンド

 

ということでした。

  • 全体に影響するにように設定したい場合はexport
  • 特定のコマンドにのみ設定したい場合にはenv

 

という使い分けができますね。

参考にしたサイト

【 export 】コマンド――環境変数やシェル変数を設定する
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、環境変数やシェル変数を設定する「export」コマンドです。
環境変数を設定するには

環境変数とシェル変数の違いがわかりやすい。

 

 

 

 

 

 

 

コメント