Linuxの基礎、PATHを通すときなどで聞く環境変数ってなんぞや?

おせわになります。もうそろそろ猫が一緒に寝てくれなくなる季節だな~と少し残念なねこだくさんです。

いつもコマンドの実行環境などで仮想環境として利用してるEnbvaderが正式リリースとなったようです。
一通りの問題を既にクリア済なのですが見直した所結構テキスト分量が充実しており運営の気合が伺えます。

それはそうとして今回は環境変数って結局何なの?どう使うの?ということを学んでいきたいと思います。

前回学んだこと

前回はLinuxの様々な権限とその変更方法について学びました。
以前やったパーミッションの復習のような感じでした。

Linuxにおける権限管理chmodとchownについて
AWS好き好き勢ねこだくさんです。言う割にAWSの記事書いてないじゃないかという空耳が聞こえますが現在インプットをメインに進めており準備中です。Linuxもめちゃくちゃ大事なので先にまとめてる感じとなります。今回は権限管理について2つの...

当初全く意味がわからなかったPATHの通し方については以下で学びました。
タイトルを修正したため若干おかしなことになっていますが見なかったことにします。

Linux基礎初心者が詰まりがちなPATHを通すについて
いろいろなところで詰まりがちなねこだくさんです。このPATHを通すという作業、環境構築する際に言われるがままに意味もわからずやっていました。なるほど(わからん)からチョットワカルになる程度まで勉強してみたいと思います。

環境変数って何?

archwikiによると、

環境変数とは1つ、または複数のアプリケーションによって使用されるデータを含んだ名前付きオブジェクトです。簡単に言えば、名前と値がある変数です。環境変数の値は例えば、実行可能ファイルのファイルシステムにおける場所や使用するデフォルトのエディタ、システムロケールの設定などになります。

引用:環境変数

とのことです。
ざっくりとした説明をすると、通常の変数はそのプロセスのみで有効ですが、環境変数は他のプロセスでも使用できます。

環境変数の使い方

環境変数では通常大文字alphabetを使用します。これは大文字で表すことで他とは違う変数だぜ!ってアピールしていると思ってください。
実際宣言自体は小文字でも可能です。

用途としては主に4つ

  1. 先述したパスを通す時
  2. アプリなどに直接書かない方がいい変数を使いたい時
  3. よく使う値を変数として保持したい時
  4. 言語を変更したい時

まあ2番はセキュリティ上重要で、知られたくない変数内容などをアプリに記述したまま公開したくないですよね。

環境変数の使い方

envコマンドを使用します。
envコマンドは、オプション無しで打つと現在の環境変数設定一覧が表示され、オプションを指定すると環境変数の値を「一時的に変更」し、さらに指定コマンドを実行します。

# 環境変数の一覧表示
env
# 実は用途がよくわからない指定方法
env 環境変数=値 コマンド

指定コマンドを実行?

環境変数を「設定」するのにexportコマンドを実行します。

export 環境変数=値

こちらもやはりターミナルを再起動すると消えてしまうため、設定を残すにはシェルの設定ファイルに書き込みをする必要があります。
vimなどのEditorで上記exportコマンドを記載することで永続的に変更可能です。

環境変数の削除にはunsetコマンドを使用します。こちらも「一時的な削除」となります。

unset 環境変数

実際にコマンドを使用してみる

Envaderの環境変数についてコースを問題を解きながら実践してみてください。
読むだけだと何となく分かるかも状態を、実際に手を動かすことでチョットワカル状態になります。

学んだこと

  • 環境変数と普通の変数の違い
  • 環境変数の用途
  • 環境変数の更新・削除の方法

参考資料

コース一覧 | エンベーダー
コース一覧に関するページです。Linuxを学べるLinux基礎・応用コースを始めとして、エンジニア必須の知識であるデータベースやセキュリティのコースもあります。
環境変数 - Linux技術者認定 LinuC | LPI-Japan
Linuxを学習する上で出てくる素朴な疑問や、便利なテクニックなどを紹介しています。LinuCは、クラウド・DX時代に活躍するエンジニアに求められるLinuxを中心とした技術や知識を身につけることができるLinux技術者認定試験。出題範囲に含まれる技術解説動画やサンプル問題、教科書ダウンロードなど、ITエンジニア向け学...

コメント

タイトルとURLをコピーしました