5. env (環境)

お使いの Linux システムは、シェルや他のプロセスがアクセスできる情報を格納するために環境変数を使用します。これらの変数は、ユーザーセッションとシステム構成に関する役立つデータを保持しています。

基本的な環境変数の探索

特定の変数の値を確認するには、その名前の前に$記号を付けます。例えば、次のコマンドを実行します。

echo $HOME

このコマンドはホームディレクトリへのパスを表示します。これは/home/peteのような形式になるかもしれません。

次に、別のものを試してみましょう。

echo $USER

これは現在のユーザー名を出力します。しかし、この情報はどこから来るのでしょうか?それはシェルの環境に格納されています。

Linux における env の役割

現在セッションに設定されているすべての環境変数を表示するには、envコマンドを使用できます。linux env commandは、シェルの構成を調べるための基本的なツールです。

env

envコマンドを実行すると、キーと値のペアのリストが出力されます。表示される内容の簡単な例を次に示します。

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/bin
PWD=/home/user
USER=pete

効果的なシステム管理のためには、linux envを理解することが不可欠です。

PATH 変数の重要性

env linuxの出力の中で最も重要な変数の 1 つがPATHです。次のコマンドでその内容を具体的に確認できます。

echo $PATH

このコマンドは、コロンで区切られたディレクトリのリストを返します。コマンドを入力すると、システムはこれらのディレクトリを検索して、対応する実行可能ファイルを探します。

手動で/opt/coolapp/binのような標準的でないディレクトリにプログラムをインストールしたと想像してください。coolcommandと入力して実行しようとすると、「command not found」エラーが発生する可能性があります。これは、プログラムが含まれるディレクトリがPATH変数にリストされていないため、シェルがどこを探せばよいかわからないからです。

これを修正するには、新しいディレクトリを含めるようにPATH変数を変更できます。カスタムディレクトリをPATHに追加することで、ターミナル上のどこからでもシェルがプログラムを見つけて実行できるようになります。

現在のセッションの環境変数の設定

ターミナルで次のコマンドを実行すると、現在のセッションでのみ環境変数TESTが設定されます。

export TEST=test

この後、次のように実行すると:

echo $TEST

出力は次のようになります。

test

この変数は、ターミナルセッションが開いている限り利用可能です。ターミナルを閉じて再度開くと、変数は存在しなくなります。

環境変数をセッション間で永続化する

環境変数をターミナルセッションを閉じて再度開いた後でも、すべてのターミナルセッションで利用可能にしたい場合は、シェルの起動ファイルに追加する必要があります。多くの Linux ディストリビューションや macOS でデフォルトのシェルである Bash の場合、このファイルは通常、ホームディレクトリにある.bashrcです。

設定方法は次のとおりです。

  1. お好みのテキストエディタで.bashrcを開きます。例えば:
nano ~/.bashrc
  1. ファイルの末尾にexport行を追加します。
export TEST=test
  1. エディタを保存して終了します(Nano の場合、これはCtrl+X、次に確認のためにY、そしてEnterです)。

  2. ターミナルを再度開かずに変更をすぐに適用するには、次を実行します。

source ~/.bashrc

その後、TEST変数はすべての将来のターミナルセッションで利用可能になり、ターミナルを閉じて再度開いた後でもecho $TESTを実行するとtestと表示されます。

シェル設定ファイルに関する注意点

  • Bash(多くのシステムでデフォルト)の場合、非ログイン対話型シェルに関連するファイルは~/.bashrcです。
  • Zshの場合、同等のファイルは通常~/.zshrcです。
  • Fishの場合、通常は~/.config/fish/config.fishを使用します。

ログインして学習進捗を保存

サインイン

演習

練習あるのみです!Linux 環境変数の理解を深めるための実践的なラボをいくつかご紹介します。

  1. Linux におけるシェル環境と構成の管理 - ローカル変数と環境変数の作成と管理、継承の理解、.bashrcファイルの変更による構成の永続化を練習します。
  2. Linux における環境変数 - 環境変数の概念と使用法、作成、変更、管理方法、およびシステム構成におけるその役割について学習します。
  3. Linux 環境変数の設定 - Linux システムで環境変数の作成、設定、管理に関する実践的な経験を積みます。

これらのラボは、実際のシナリオで概念を適用し、Linux シェル環境の管理に対する自信を築くのに役立ちます。

クイズ

現在のすべての環境変数を表示するコマンドはどれですか?(回答は英語で、小文字のコマンド名のみを使用してください)。