LoginSignup
13
7

シェル変数と環境変数の違い

Last updated at Posted at 2019-03-19

シェル変数と環境変数

シェル変数

  • 実行中のシェル内でのみ有効な変数
  • 子プロセスには引き継がれない

利用例

$ SHELL_VAR=value
$ echo $SHELL_VAR

環境変数

  • 実行中のシェル内、および子プロセスで有効な変数

利用例

$ ENV_VAR=value
$ export ENV_VAR   # または export ENV_VAR=value として一行で書くことも可能
$ echo $ENV_VAR

env/export/printenv/setコマンドの違い

コマンド シェル変数 環境変数 説明
env - 実行対象のコマンドに一時的な環境変数を設定して実行
export - 環境変数の定義を行う
printenv - 環境変数の一覧を表示
set シェル変数と環境変数の一覧を表示

コマンドの特徴

  • envコマンド
    • 一時的な環境を設定してコマンドを実行
      • 例えば、env PATH=/usr/local/bin:$PATH some_commandとすることで、some_commandを実行する際にPATHを一時的に変更できる
  • exportコマンド
    • シェル変数を環境変数に変換
      • 例えば、export VAR=valueとすることで、VARが環境変数として子プロセスにも引き継がれるようになる
  • printenvコマンド
    • 現在の環境変数を一覧表示
      • デバッグやシステムの設定確認に便利
  • setコマンド
    • 現在のシェル変数と環境変数を一覧表示
      • スクリプトのデバッグに有用
13
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
7