1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Linux 環境変数について

Last updated at Posted at 2024-09-17

環境変数とは

Linuxの環境変数は、システムやアプリケーションが必要とする設定や情報を保持するために使用されます。環境変数は、シェルのセッションやスクリプト内で参照・設定することができ、特定の設定や動作をカスタマイズするために重要です。

環境変数とシェル変数について

環境変数とシェル変数はそれぞれ役割とスコープ(適用範囲)に違いがあります。

役割
・環境変数は、システム全体の設定や、他のプログラムやシェルスクリプトで広く使われる情報を保持するために使用されます。

・シェル変数は、スクリプトや一時的な作業でのデータ保持、あるいは特定のシェル内でのみ必要な情報を格納するために使用されます。

スコープ
・環境変数は、親シェルから生成された全ての子プロセス(サブシェルやアプリケーションなど)に引き継がれる変数です。環境変数はシステム全体やアプリケーションの設定としてよく使用され、シェル内のあらゆるプロセスがアクセスできます。

・シェル変数は、現在のシェルセッション内でのみ有効な変数で、子プロセスには引き継がれません。シェルスクリプトやシェルの内部でのみ使用される一時的な変数です。

環境変数とシェル変数の設定方法

シェル変数
シェル変数は以下の様に設定します。

変数名=値
linux=test
※linuxという変数にtestという文字が設定される

また、設定した変数を削除するにはunsetコマンドを使用します。

unset linux

環境変数
環境変数は以下の様に設定します。シェル変数にexportコマンドを実行することで環境変数となり、子プロセスからでも参照できるようになります。exportで変数名を指定するときは先頭の$記号は不要なので注意しましょう。

linux=test
export linux
または
export linux=test

環境変数の確認方法

echoコマンド

echoコマンドを使用することでシェル変数や環境変数を参照することができます。echoコマンドでは変数の先頭に$が必要なので注意しましょう。

echo $linux
test

envコマンド printenv コマンド

定義されている環境変数の一覧を表示したい場合はenvまたはprintenvコマンドを使用します。

env
または
printenv

set コマンド

環境変数とシェル変数両方の一覧を表示したい場合はsetコマンドを使用します。

set

環境変数をファイルで設定する方法

環境変数をファイルに記述して設定する方法もあります。ファイルに記述することで毎回設定する必要がなくなります。

~/.bash_profileに環境変数、~/.bashrcにシェル変数を記述します。

コマンドのpathを通す

環境変数 PATH は、LinuxやUnix系のシステムにおいて非常に重要な役割を果たしています。PATH は、シェルがコマンドを実行する際に、コマンドの実行ファイルがどこにあるかを検索するディレクトリのリストを保持している環境変数です。

PATH=$PATH:/new/directory/path
または
export PATH=$PATH:/new/directory/path

永続的に PATH にディレクトリを追加するには、~/.bashrc や ~/.bash_profile に追加の設定を書き込む必要があります。

注意点として複数の同名コマンドが異なるディレクトリにある場合、最初に見つかったものが実行されます。

環境変数PATHの指定方法として以下の様にしてしまうとパスが通っているコマンドが指定したものだけになってしまい使えなくなります。上記で解説している書式で追加することで環境変数PATHの末尾に追加することができます。

PATH=/opt/bin
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?