🐚

シェル変数と環境変数

2023/09/16に公開

概要

  • シェル変数と環境変数について説明します

結論

  • シェル変数をexportすることで環境変数に変換できます

シェル変数

  • シェル変数の中でも、特別なシェル変数はシェルの機能のカスタマイズができる
  • シェル内部で使用される変数なので、外部コマンドからは参照できない
    • ※外部コマンドについては以下参照

https://zenn.dev/y__adler/articles/151f6c93a2a63c

特別なシェル変数の例

  • PS1
    • プロンプト記号(コマンドラインの先頭に表示されている記号)の設定
  • PATH
    • コマンド検索パスの登録

設定方法

ターミナル
var1='test variable' #変数名='値'で変数に値を設定
echo $var1  #参照時は先頭に$記号を付ける
# test variable 

※ 値がスペースを含む場合には「'」または「"」で囲む必要がある
※ 変数を設定するとき=の左右にスペースを付けてはいけない

環境変数

  • コマンドが入力される度に環境変数を読み込みにいくため、シェル変数を環境変数に変換することで、カスタマイズした内容が設定として広く効果を発揮する
  • シェル変数とは異なり、環境変数は外部コマンドからでも参照できる
  • 現在のシェルに設定済みの環境変数は、printenvコマンドで表示できる

シェル変数から環境変数への変換方法

  • $ export シェル変数とすることでシェル変数から環境変数へ変換することができます
ターミナル
$ LESS='--no-init'  #シェル変数を設定する
$ export LESS  #export シェル変数

# 上の二行を一行にまとめることもできる
$ export LESS='--no-init'

補足

環境変数をシェル設定ファイルに記述し、永続化させる方法は以下に記載。
https://zenn.dev/y__adler/articles/8bb5bc566cf591

参考

新しいLinuxの教科書

Discussion