環境変数の基礎

ShellBeginner

はじめに

新しいオフィスに引っ越す場面を想像してください。机には決まった高さがあり、名札にはあなたの名前が表示されています。Linux の「環境変数」も、これらの設定とよく似ています。環境変数には、現在のセッションに関する情報が保存されています。

実行するすべてのプログラムは、環境変数を参照して動作方法を判断できます。

これは、シェルセッションを使う人に合わせて動作させる、目立たない仕組みの一つです。プログラムは、シェルから渡された変数を読み取ることで、ユーザーが誰なのか、ホームディレクトリがどこにあるのか、どの言語を使うのか、ツールをどこから探せばよいのかを知ることができます。

この実験では、次の操作を学びます。

  • 論理変数の値を表示する。
  • 使用中のシェルプログラムを確認する。
  • 現在有効なすべての設定を一覧表示する。

ユーザー($USER)を表示する

変数は、名前の付いた箱のようなものです。箱には名前(USER)と値(labex)があります。

値を確認するには、ドル記号 $ とともに echo を使います。$ は、箱を開ける鍵のようなものです。

より正確には、シェルは $USER を見つけると、コマンドを実行する前に保存されている値へ置き換えます。この置換機能があるため、シェル操作で変数を便利に使えます。

自分のユーザー名を確認するには、次のコマンドを入力します。

echo $USER

出力:

labex

変数と文字列を組み合わせることもできます。

echo "Hello, $USER"

出力:

Hello, labex

この仕組みにより、コマンドを柔軟に使えます。Hello, $USER は、誰が実行してもそのユーザーに合わせて表示されます。

シェル($SHELL)を表示する

Shell は、コマンドを入力しているプログラムです。入力したコマンドを解釈して実行します。

シェルによって、話す「方言」が少し異なります(Bash、Zsh など)。

そのため、環境の詳細を確認することが重要です。シェルは単なる空のプロンプトではありません。独自の設定、構文上の特徴、起動時の動作を持つプログラムです。

使用中のシェルを確認します。

echo $SHELL

出力:

/usr/bin/zsh

現在は Zsh を使用しています。ほかのシステムでは、/bin/bash と表示される場合があります。

すべての変数を一覧表示する(env)

環境全体を確認するには、env を使います。

env は、現在のセッションで設定されているすべての環境変数を一覧表示します。

これは、シェルセッションが入力したコマンドだけで構成されているわけではないため便利です。プログラムが自動的に引き継ぐ、背景情報も保持されています。

env

大量のテキストが表示されます。

HOSTNAME=labex-instance
PWD=/home/labex/project
HOME=/home/labex
LANG=en_US.UTF-8
...

次のような便利な変数に注目してください。

  • PWD:現在のディレクトリ。
  • HOME:ホームフォルダー。
  • LANG:言語設定。

まとめ

この実験では、Linux 環境を理解するための第一歩を踏み出しました。次のことを学びました。

  • 変数はコンテナです:ユーザー名や設定などの情報を保持します。
  • $ キー:ドル記号(例:$USER)を使うと、変数の中にある値を取り出して読み取れます。
  • Shell:使用するインターフェイス(/bin/zsh または /bin/bash)は、$SHELL 変数で定義されています。
  • 環境:env コマンドを使うと、システム設定の一覧全体を確認できます。

これらの概念は、Linux の設定を理解するための基礎です。後の実験では、自分で変数を作成し、システムの動作を変更する方法を学びます。