以前の投稿では、基本的なLinuxコマンドのいくつかについて説明しましたが、今日は旅を続け、Linuxに不可欠なもの、つまりLinux環境変数について説明します。
環境変数は、すべてのLinuxシステムに組み込まれている一連の変更値です。これらは、他のUnixベースのシステムでもまったく同じ目的で使用されます。
環境変数は、さまざまなシナリオでスクリプトとアプリケーションによって使用されます。ユーザーとシステムプロセスは、これらの環境変数にアクセスできます。これは、通常のシェル変数とはまったく対照的です。
一般的な環境変数
Linuxオペレーティングシステムには、さまざまな環境変数が存在します。追跡してメモリにコミットするのは非常に難しい場合があります。
ただし、最も一般的なものを知っておくことが非常に重要です。これらは、さまざまなシステム管理シナリオや個人的な使用に非常に役立つ可能性があるためです。
そのため、簡単な復習または有益なリストとして、最も一般的な環境変数のいくつかの完全なリストを以下の簡単な例で示します。
- ユーザー –この環境変数は、Linuxシステムで現在ログに記録されているユーザーです。
- ホーム –この環境変数は、Linuxシステム上の現在のユーザーのホームディレクトリです。
- 編集者 –この環境変数は、Linuxターミナルで.txtファイルを編集するために使用されるデフォルトのエディターです。これにより、プログラムは、Linuxアプリケーションの編集に使用するテキストエディタを確認できます。
- シェル –この環境変数は、現在のユーザーのシェルのパスです。 Linuxシステムでは、さまざまなシェルを使用できます。最も一般的なもののいくつかは、BashとZSHです。シェルは、入力しているコマンドを解釈するものであり、構文とコマンドは、使用しているコマンドに応じて変わります。ほぼすべてのLinuxOSディストリビューションで、Bashがデフォルトであり、群を抜いて最も人気があります。
- ログ名 –この環境変数は、現在のユーザーの名前にすぎません。
- パス –コロン(:)を含むこの環境変数は、コマンドの実行時に検索されるディレクトリーのリストです。システムでコマンドを実行すると、ファイルパスの指定された順序でそれらのディレクトリが検索されます。システムは、実行できる最初のコマンドが見つかるまで、これらのディレクトリを検索し続けます。そうしないと、端末に「コマンドが見つかりません」というエラーメッセージが表示されます。
- LANG –この環境変数は現在のロケール設定です。
- 期間 –この環境変数はターミナルエミュレーションです。
- メール –この環境変数は、現在のユーザーのメールが保存される場所です。
これらは、よく知っておくべき環境変数の一部です。変数では大文字と小文字が区別されることにも注意する必要があります。
変数名は大文字と小文字を正しく入力することが重要です。そうしないと、出力が完全に異なる可能性があります。
ほとんどの環境変数は大文字であるため、覚えておくのはそれほど大きな問題ではありません。
環境変数関数
環境変数を使用して、システムの機能をカスタマイズできます。また、システム上のアプリケーションに動作方法を指示するコードを変更するためにも使用できます。
たとえば、多くのシステムアプリケーションやユーザー作成のスクリプトでは、現在のユーザーのホームディレクトリにアクセスする必要があります。
これは、HOME環境を使用することで実現できます。ユーザーが作成したスクリプトにHOMEを使用すると、システム上のすべてのユーザーがスクリプトを実行できるようになります。
$ echo My home directory is $HOME > $HOME/info.log
$ cat $HOME/info.log My home directory is /home/nick
このチュートリアルでは、現在構成されている環境変数を表示し、新しい変数を設定する方法について説明します。すべてのLinuxシステムには、これらの環境変数のセットがあります。
ただし、一時的または永続的に使用するために新しい環境変数を設定することもできます。
新しく設定された環境変数を使用すると、再起動後に環境変数を残しておく必要がある場合に特に便利です。以下の例では、両方の方法を採用する方法を示します。
環境変数を取得する
printenv
コマンドは、Linux上のすべての環境変数を一覧表示する1つの方法です。以下に示す例で、Linuxターミナルでの構文の使用方法を確認できます。
$ printenv
Linuxシステムですべての単一の環境変数のリスト全体を印刷することは、単一の変数の情報を取得することだけを目的としている場合は、最善のアイデアではない可能性があります。
しかし、心配しないでください。Linuxには、一見小さな問題に対するもう1つの便利なソリューションがあります。このコマンドを使用して、コマンドの後に名前を入力することにより、指定された変数を一覧表示することもできます。
特定の変数をリストするための構文を以下に示します。
$ printenv SHELL
ただし、特定の変数をチェックするのは、一度に1つだけに限定されません。 printenv
を使用して、複数の特定の変数を同時に一覧表示することもできます。 。
複数の変数を同時にチェックするための構文は同じです。 printenvコマンドを入力した後、各環境変数をリストするだけです。その構文の例を以下に示します。
$ printenv SHELL USER
Linuxシステムでは、コマンドラインまたはBashスクリプト内で環境変数を利用できます。これを実現する方法は、環境変数の前にドル記号を付けることです。
編集する可能性のある最も一般的な環境変数の1つは、$PATH変数です。 $ PATH変数を使用すると、ユーザーは、コマンドを実行するときにBashシェルがアプリケーションを検索するディレクトリを指定できます。
$ printenv PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
一時的な環境変数を設定する
このチュートリアルの前のセクションで述べたように、Linuxで新しい環境変数を設定できます。思い出してください。一時変数と永続変数の両方を設定することができます。
次のコマンドは、ユーザーのログアウト後、新しいシェル、またはシステムの再起動時に持続しない一時的な環境変数を作成する方法の例です。以下の例では、VARIABLE
という新しい環境変数を設定します。 。
次のコマンドを使用すると、新しいシェル変数が作成されます。ただし、この環境変数は現在の端末でのみ使用できることに注意してください。
次のいくつかの例では、環境変数を作成する方法を説明します。
$ VARIABLE='VARIABLENAME'
新しいサンプルシェル変数を作成したので、この変数を新しい環境変数として設定できます。 Linuxターミナルでシェル変数を設定するには、export
を使用する必要があります コマンド。
$ export VARIABLE
上記の例では、2つの別々のコマンドを使用して一時的な環境変数を設定する方法を示しました。しかし、Linuxの他の多くの異なるシナリオと同様に、特定の操作をより効率的かつ便利にするための便利な代替手段があります。以下に示す構文の単一のコマンドを使用して、非永続的な環境変数を構成できます。
$ export VARIABLE='VARIABLENAME'
永続的な環境変数の設定
このチュートリアルの「一時的な環境変数の設定」セクションで説明したように、新しい環境変数を一時的および永続的に構成できます。
一時的な環境変数の設定についてはすでに説明したので。
以下の例では、新しい環境変数を永続的に構成する方法を示します。これは、Linuxのいくつかの異なるファイルを介して実行できます。編集するファイルは、環境変数へのアクセスをどの程度正確に計画しているかによって異なります。
~/.bashrc
–このファイルはユーザーのホームディレクトリに存在し、それぞれのユーザーのみが使用できる変数を格納します。
これらの変数は、ユーザーが新しいシェルを開始するたびに再読み込みされます。
/etc/profile
–ここに保存されている変数は、すべてのユーザーがアクセスでき、新しいシェルが開かれたときに読み込まれます。
/etc/environment
–ここに保存されている変数には、システム全体でアクセスできます。
Bash構成ファイルを編集できる3つのファイルを知っているので、~/ .bashrc
内にカスタム変数をどのように配置するのか疑問に思われるかもしれません。 または/etc/profile
構成ファイル。
これを行うには、以下の例に示す構文を使用して、いずれかのファイルの下部に行を追加します。 export
を追加したことに注意してください 前 それぞれの新しい変数。
$ export VARIABLE=’VARIABLENAME’
このコマンドを実行すると、下の例に示すコマンドを使用して、編集したファイルを現在のセッションにリロードできます。
$ source ~/ .bashrc OR # source /etc/profile
もう1つの注意点は、新しい環境変数を/etc/environment
に配置する場合です。 構成ファイルの場合、export
を入力する必要はありません 指図。構文の例を以下に示します。
$ VARIABLE='VARIABLENAME'
上記の例で示した方法を使用すると、変数構成を削除するまで変数構成を保持できます。
echo
を利用することもできます シェル変数を出力するコマンド。これは、たとえば、現在のユーザーのホームディレクトリにサンプルテキストファイルを生成することを目的としたスクリプトを作成する場合に役立ちます。また、複数の異なるユーザーがスクリプトを実行します。
次に、ホームディレクトリは、誰が実行しているかに応じて常に変更されます。スクリプトは$HOME変数をチェックして、使用する必要があるユーザーのホームディレクトリを確認します。
このチュートリアルの前のセクションで説明したように、$HOME環境変数はユーザーのホームディレクトリです。 $ HOMEが正しくない場合、この例のスクリプトなどの特定の操作を実行できないため、このチェックは正確である必要があります。
ターミナルのコマンドラインでecho
を使用して、$HOME変数を自分で確認できます。 指図。構文は以下の例で提供されています。
$ echo $HOME
このチュートリアルでは、さまざまなコマンドとメソッドを使用して、ターミナルでLinux環境変数を設定および確認する方法を説明しました。
環境変数の削除
ただし、設定した環境変数を削除したい場合はどうすればよいか疑問に思われるかもしれません。これは、unset
を使用して実現できます Linuxターミナルのコマンド。
$ unset VARIABLE
Linuxには、たとえばWindowsのようなオペレーティングシステムには存在しない特定の哲学が存在します。つまり、元に戻したり元に戻したりできる操作やプロセスはありません。
ここでの考え方は、何かが重要であり、消去されるべきではなかった場合、それはバックアップされるべきだったということです。
したがって、unset
を使用する場合は注意することが重要です。 コマンド、上で述べたように、できません 元に戻す。誤って環境変数を設定解除して削除すると、環境変数が永久に失われます。したがって、このコマンドは細心の注意を払って使用してください。
まとめ
このチュートリアルでは、Linuxで環境変数を設定し、既存のすべての変数のリストを表示する方法について説明しました。環境変数は、さまざまなシステム間で変化する情報にアクセスできるようにするLinuxの便利な側面です。
Linuxシステム環境変数が運ぶ情報を必要とするシステムプロセスとプログラムを常に実行するため、システム管理者にとって特に便利です。
この投稿で環境変数について述べたことがすべて多いように思われる場合でも、心配しないでください。覚えておくことが重要なこともあります。
主に覚えておくべきことは、環境変数を設定、設定解除、およびチェックするためのコマンドです。これらは、最も頻繁に使用するLinuxの環境変数の主な機能です。