Linuxの場合、環境変数の設定と設定解除の方法を知っている sはホストを管理するために不可欠です。
環境変数は、Linuxに保存され、特定の操作を実行できるようにするためにプロセスによって使用されるキーと値のペアのセットです。
非常に人気のある例の1つは、Linuxシステムでタイムゾーンを設定しようとしている場合です。
システム時刻を変更するには、環境変数を設定する必要がある場合があります。
環境変数は、さまざまな操作を実行するためにシェルプログラムまたはサブシェルで使用することもできます(たとえば、現在のユーザーがrootであるかどうかを知る)。
このチュートリアルでは、設定する方法を見ていきます。 、未設定 およびすべての環境変数を一覧表示 システム上で。また、環境変数を簡単に設定するのに役立つ特定のファイルについても見ていきます。
エクスポートを使用してLinuxで環境変数を設定する
Linuxでは、環境変数を永続化するかどうかに応じて、さまざまな方法で環境変数を設定できます。
環境変数を設定する最も簡単な方法は、exportコマンドを使用することです。
$ export VAR="value"
エクスポートを使用すると、環境変数が現在のシェルセッションに設定されます。
その結果、別のシェルを開いたり、システムを再起動したりすると、環境変数にアクセスできなくなります。永続的な環境変数が必要な場合は、次のセクションを参照してください。
環境変数の値を取得するには、探している変数で「printenv」コマンドを使用できます。
$ printenv <variable>
たとえば、上記の例では、次のコマンドを実行します。
$ printenv VAR
value
または、Linuxパイプを使用して、環境変数の値を取得することもできます。
echoコマンドを使用することもできますが、変数名の前にドル記号を付ける必要があります。
$ echo $VAR
value
Linuxで永続的な環境変数を設定する
前のセクションで見たように、環境変数はシェルの再起動時に永続的ではありませんでした。
ただし、変更を永続的にする方法があります。特定の条件で読み取られて実行されるシステムファイルを使用する。
.bashrcファイルの使用
環境変数を永続的に設定する最も一般的な方法は、それらを「.bashrc」ファイルに追加することです。
「.bashrc」ファイルは、インタラクティブシェルセッションを初期化するたびに実行されるスクリプトです。 。
結果として、GNOMEインターフェースを介して新しいターミナルを起動する場合、または単にスクリーンセッションを使用する場合は、.bashrcファイルを使用することになります。
たとえば、次のエントリを.bashrcファイルに追加します。
$ export TZ="America/New_York"
ファイルを保存し、sourceコマンドを使用して、現在のシェルセッションのbashrcファイルをリロードします。
$ source ~/.bashrc
「printenv」を使用して新しい環境変数を出力し、TZを変更することでLinuxで日付がどのように設定されたかを確認できます。
$ printenv TZ
America/New_York
$ date
Sat 19 Oct 2019 10:03:00 AM EDT
これで、変更はシェルまたはシステムのリロードに対して永続的になります。
.bash_profileの使用
または、「ログインシェル」を介してセッションに接続する場合は、環境変数を.bash_profileファイルに直接追加することもできます。
$ export TZ="America/New_York"
$ source ~/.bash_profile
etc/environmentの使用
前のセクションでは、システム上のユーザーの環境変数を設定する方法を見てきました。
ただし、すべての人に特定の環境変数を適用することをお勧めします。この場合、システム全体の環境変数を定義します。
Linuxでシステム全体の環境変数を設定するには、変数を/ etc/environmentファイルにエクスポートする必要があります。
たとえば、グローバルに使用されるエディターを変更するには、環境ファイルのEDITOR変数を変更します。
$ export EDITOR="vi"
次に、システムにさまざまなユーザーとしてログインしてみてください。サーバー上のすべてのユーザーにEDITOR変数が設定されていることがわかります。
[email protected]:~$ printenv EDITOR
vi
素晴らしい! Linuxで環境変数を永続的に設定できました。
環境変数を1行に設定
環境変数の設定方法の詳細がわかったので、これらのショートカットを使用して簡単に設定できます。
# One line for .bashrc
$ echo "export VAR="value"" >> ~/.bashrc && source ~/.bashrc
# One line for bash_profile
$ echo "export VAR="value"" >> ~/.bash_profile && source ~/.bash_profile
# One line for /etc/environment
$ echo "export VAR="value"" >> /etc/environment && source /etc/environment
Linuxでの未設定の環境変数
システムに多くの環境変数を設定したので、それらを使用しなくなった場合は、それらのいくつかの設定を解除することをお勧めします。
Linuxでは、環境変数の設定を解除する方法が2つあります。 unsetコマンドを使用するか、システムファイルの変数エントリを削除します。
unsetコマンドの使用
環境変数の設定を解除するには、次の構文でunsetコマンドを使用します
$ unset <variable>
上記の例を前提として、これらのコマンドを実行します
$ unset USERNAME
$ printenv USERNAME
<nothing>
set-nコマンドの使用
または、「-n」フラグを指定してsetコマンドを使用して、環境変数の設定を解除することもできます。
$ set -n USERNAME
$ printenv USERNAME
<nothing>
Linuxでの環境変数の一般的なセット
Linuxで環境変数を設定および設定解除する方法がわかったので、次は、システムで見つけることができる環境変数の一般的なセットを見てみましょう。
- ユーザー :システムを使用しているユーザーの現在のユーザー名;
- 編集者 :プログラムを実行して、ホストでファイル編集を実行します。
- ホーム :現在のユーザーのホームディレクトリ;
- パス :システムがコマンドを検索するディレクトリのコロンで区切られたリスト。
- PS1 :プライマリプロンプト文字列(シェルプロンプトの表示を定義するため)。
- PWD :現在の作業ディレクトリ;
- _ :(ユーザーが)システムで実行した最新のコマンド
- メール :現在のユーザーのメールボックスへのパス;
- シェル :システム上のコマンドを解釈するために使用されるシェル。さまざまなもの(bash、sh、zshなど)にすることができます。
- LANG :システムで使用される言語エンコーディング;
- DESKTOP_SESSION :ホスト(GNOME、KDE)で使用されている現在のデスクトップ
- HISTFILESIZE :履歴ファイルに保存されているコマンド履歴の行数;
- 履歴サイズ :メモリで許可される履歴の行数;
- UID :ユーザーの現在のUID
LinuxでPATH環境変数を設定する
Linuxシステムでは、システムがコマンドを見つけられるようにするために、PATH環境変数を設定するのが非常に一般的です。
現在のPATH環境変数を表示するには、printenvコマンドを実行します
$ printenv PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
PATH環境変数を設定するには、エクスポート行を.bashrcファイルに追加してソースします。
$ echo "export PATH="<path>:$PATH"" >> ~/.bashrc && source ~/.bashrc
$ printenv PATH
<path>:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
LinuxでPATH環境変数が正常に更新されました。
結論
今日のチュートリアルでは、Linuxで環境変数を複数の方法で設定できることを学びました。 exportコマンドを使用するだけでなく、一部のシステムファイルを変更して永続化することもできます。
また、環境変数の設定を解除することが可能であり、PATH環境変数を簡単に更新する方法も学びました。
Linuxシステム管理に興味がある場合 、専用カテゴリには、このテーマに関するチュートリアルがたくさんあります。