はじめに
環境は、さまざまなプログラムやアプリケーションの動作に関する情報を含む領域です。 Linux環境変数は、アプリケーションが環境に関する情報を取得するために使用します。
環境は、新しいシェルセッションが作成されるたびに構成されます。 Linux環境変数を変更すると、ユーザーは、シェルを介したプログラムとの対話方法、シェルウィンドウの外観に使用されるデフォルト値、使用されるシェルのタイプ、デフォルトのホームディレクトリなどを制御できます。
Linux環境変数ファイル
環境のセットアップに必要な情報は、初期化と呼ばれるプロセスを通じてさまざまなファイルを介して取得されます。オペレーティングシステムは、/etc/profile
を読み取ることによってこのプロセスを実行します および.profile
ファイル。
/ etc / profileファイルはLinuxの管理下にあり、ユーザーが編集できない重要な情報が含まれています。 .profileファイルは完全にユーザーの管理下にあり、環境を変更するために使用できます。
bashシェルを使用している場合、ユーザー環境変数は.bash_profileおよび.bashrcファイルに作成できます。
これらのファイルが存在しない場合、オペレーティングシステムは環境の作成を続行し、エラーを表示しません。
端末はユーザーに入力を求めます($
で示されます) サイン)環境が設定された後。
Linux環境変数
これらは名前と値のペアです。
環境変数は、次の5つの主要なコマンドを使用して処理できます。
- printenv
- env
- セット
- エクスポート
- 未設定
これらの各コマンドを1つずつ見ていきましょう。
-
printenv
環境変数の値を出力するために使用できます。キーが指定されていない場合、すべての名前と値のペアが出力として出力されます。これらには、グローバルスコープを持つ変数のみが含まれます。printenvコマンドの例
Linux環境変数は、慣例により大文字で定義されています。
-
env
printenv
のような名前と値のペアも出力します 。このコマンドは、グローバルスコープの変数のみを出力します。ただし、環境変数の特定の値を出力するために使用することはできません。 set
シェル変数、環境変数、ローカル変数、およびシェル関数を出力するために使用されます。これらには、ローカルスコープとグローバルスコープの両方を持つ変数が含まれます。コマンド例の設定
export
シェルセッションが閉じられた後も持続する新しい環境変数を作成するために使用されます。unset
環境変数のバインドを解除または削除するために使用されます。
いくつかの重要な事前定義された環境変数
- LANG: 現在のシステム言語が含まれています。
- ユーザー名: 現在のユーザーのユーザー名が含まれます。
- 障害者: 現在のディレクトリのパスが含まれます。
- パス: システムが実行可能ファイルを検索するディレクトリのコロンで区切られたリストが含まれます。
- ホーム: ホームディレクトリのパスが含まれます。
- シェル: ユーザーの優先シェルへのパスが含まれています。
- 編集者: 軽量エディターを実行するコマンドが含まれています。例:
/usr/bin/nano
- ビジュアル: 重い編集タスクに使用されるエディターを実行するコマンドが含まれています。例:
Vi
(Vim) - ブラウザ: デフォルトのWebブラウザを実行するコマンドが含まれています。
環境変数操作
Linuxでの一般的な環境変数の操作を見てみましょう。
1。新しい環境変数の作成
新しい変数名を入力し、それに値を""
で割り当てることで、新しい変数を簡単に作成できます。 、=
で区切られます サイン。
=
の間にスペースがあってはなりません および変数の名前/値。そうしないと、端末はエラーを返します。
変数が作成されると、その値はecho
を使用して表示されます コマンド。
新しい環境変数の例
$
上記の例に示すように、echoを使用して値を表示するときは、記号を変数名の前に付ける必要があります。ただし、新しい変数を作成する場合は必須ではありません。
新しい環境変数を作成したので、printenv
によって表示される変数のリストでそれを見つけてみましょう。 コマンドを実行し、その値を出力します。
これは、grepコマンドを使用して実行できます。
grep環境変数の例
出力は表示されません。これは、新しい環境変数を定義したにもかかわらず、それをすべての変数の名前を含むファイルに「エクスポート」していないためです。
エクスポートすると、他のプログラムやサブシェルから変数にアクセスできるようになります。
これは、export
を使用して実現されます 前のセクションで説明したコマンド。
$ export [VARIABLE_NAME]
エクスポートコマンドの例
変数の値が表示されます。新しいサブシェルでアクセスすることもできます。
サブシェルエクスポートの例
exit
と入力すると、サブシェルを終了できます。 指図。これにより、元のシェルに戻ります。
2。既存の変数の値の変更
既存の変数は、新しい値を割り当てるだけで編集できます。 echo
を使用して変数値を出力することで行われた変更を確認できます 。
環境変数値の変更
3。環境変数の削除
unset
コマンドは、既存の環境変数を削除するために使用されます。
$ unset [VARIABLE_NAME]
unsetコマンドの例
永続的環境変数と非永続的環境変数
これまで扱ってきたすべての環境変数は、非永続変数でした。これらに加えられた変更は、現在のシェルがアクティブになるまで続き、新しいシェルウィンドウには影響しません。現在のセッションが閉じられると、変数に加えられたすべての変更(作成または編集)は失われます。
新しいセッションやウィンドウを通じて変更を保持するために、永続的な環境変数を作成できます。これらは、ホームディレクトリの環境変数ファイル(.profile、.bash_profile、および.bashrc)内の変数を定義することによって作成されます。
.bashrc
を開くことができます nanoを使用したファイル またはvim 。
.bashrcファイルへのアクセス
.bashrc
内の任意の場所に新しい変数を定義します export
を使用したファイル 指図。変更を保存してファイルを終了します。
.bashrcでの環境変数の定義
現在のターミナルセッションを閉じて、新しいセッションを開きます。
次に、echo
を使用して作成したばかりの環境変数を出力します。 コマンド。
永続的な環境変数の出力例
新しいターミナルセッションを作成して前のターミナルセッションを閉じた後でも、変数が存続することがわかります。
結論
環境変数は非常に重要で便利です。プログラムの動作を変更し、ユーザーがプログラムを簡単に操作できるようにすることができます。既存の変数は、ユーザーのニーズに応じて簡単に変更できます。さらに、新しい変数も簡単に作成できます。環境変数を使用すると、ユーザーがシェルを操作する方法を変更したり、特定のプログラムにすばやくアクセスしたりすることができます。