環境変数はオペレーティングシステムの重要な部分であり、プログラムが連携してデータを共有できるようにします。 ほとんどのユーザーはUbuntu環境変数を変更したり表示したりする必要はありませんが、これらの設定を操作する必要があるユーザーにとっては難しい場合があります。
このガイドでは、基本的な表示および編集タスクからより高度な管理戦略まで、Ubuntu環境変数の管理について知っておく必要のあるすべてのことを説明します。
準備? Ubuntu環境変数をまとめる方法を学ぶために読んでください!
前提条件
このチュートリアルは、実践的なデモンストレーションになります。 フォローしたい場合は、次のものがあることを確認してください。
- Ubuntuコンピューター。 このチュートリアルではUbuntu20.04を使用しますが、他のバージョンやLinuxディストリビューションも機能するはずです。
- テキストエディタも必要です。このチュートリアルではNanoを使用します。
環境変数とは何ですか?
簡単に言うと、環境変数は、オペレーティングシステムをカスタマイズおよび構成する方法です。 環境変数は、ファイルの場所、ユーザー設定など、現在のセッションに関する情報を格納します。
環境変数には、デフォルトのエディターやシェルなどのグローバルオプションを格納することもできます。 実行中のプログラムは、これらの変数を読み取って、それらがどのように機能するかを決定できます。
環境変数は、 グローバル変数—システム上の多くのプログラムの動作に影響を与えるためです。
以下を含む、Ubuntu環境変数を使用して完了したいタスクがたくさんあります。
- 既存の値の表示と編集。
- ユーザーごとまたはグローバルベースで新しい環境変数を作成します。
- 現在のすべての環境変数のリストを取得します。
- 不要な環境変数を削除します。
これらのスキルを使用すると、Ubuntu環境変数を自信を持って管理し、システムが最高の状態で動作していることを確認できます。
一時的な作成 Ubuntu環境変数(現在のセッション)
Ubuntu環境変数を操作する場合、実行する必要がある最も基本的なタスクの1つは、現在のシェルセッションの変数を設定することです。
この動作は、一時的な変更やテストの目的で役立ちます。 たとえば、次のように読み取るスクリプトがあるとします。 HOME
現在のユーザーのホームディレクトリパスを格納する環境変数。
ホームディレクトリパスのデフォルトは /root
あなたがrootユーザーの場合。 別のユーザーがセッションでスクリプトを実行したときにスクリプトがどのように機能するかをシミュレートする必要がある場合はどうなりますか? 一般的な方法は、現在のディレクトリを目的の場所に変更してから、プログラムを実行することです。
または、’を設定することもできますHOME
‘ホームディレクトリを上書きする変数。
1.マシンにSSHで接続するか、ターミナルセッションを開きます。
2.以下のコマンドを実行して、現在のHOME環境変数値を表示します。
以下に示すように、現在のHOME環境変数の値は/rootです。
3.次に、以下のコマンドを実行して「HOME」環境変数を変更し、ホームディレクトリを上書きします。 exportは、環境変数を設定するための組み込みのLinuxコマンドです。
4.以下のコマンドを実行して、変更が有効になったことを確認します。 結果には、変更したホームディレクトリが表示されます。 echoコマンドは、画面に出力を表示する組み込みコマンドです。
echo "My new home address is @ $HOME"
![新しいHOMEディレクトリパスを表示する](https://adamtheautomator.com/wp-content/uploads/2022/05/image-619.png)
5.ここで、ターミナルセッションを再起動し、以下のコマンドを実行して、HOMEディレクトリが元に戻ったことを確認します。
echo "I'm at my old home address @ $HOME"
ご覧のとおり、古い家に戻りました。
![HOMEディレクトリを表示する](https://adamtheautomator.com/wp-content/uploads/2022/05/image-620.png)
この動作は予想どおりです。変数は現在のシェルセッションに対してのみ設定され、セッション間で永続的ではありません。
環境変数を使用することは、構成ファイルを変更したり、永続的な変更を加えたりすることなく、システムに一時的な変更を加えるための優れた方法です。
Ubuntu環境変数の操作は、新しいソフトウェアやスクリプトのテストや問題のトラブルシューティングに役立ちます。
作成 永続的なUbuntu環境変数(ユーザー固有)
現在のセッションの環境変数を設定することは多くの状況で役立ちますが、ある時点で変数を永続的に設定する必要がある場合があります。 永続的な変数は、変更が将来のすべてのセッションにわたって持続し、システム上のすべてのプログラムの動作に影響を与えることを意味します。
シェルセッションごとに変数を手動で設定するのは面倒で、エラーが発生しやすくなります。 代わりに、構成ファイルを使用して、システムの起動時に環境変数を自動的に設定できます。
Ubuntuでは、 〜/ .bashrc fileは、環境変数を格納するために最も一般的に使用されるファイルの1つです。 デフォルトでは、新しいターミナルシェルセッションを開始すると、 〜/ .bashrc ファイル。 このファイルは、将来のすべてのシェルセッションで使用できるようにする環境変数を設定するのに最適な場所になります。
環境変数を永続的に設定するには、以下の手順に従います。
1.テキストエディタで〜/.bashrcファイルを開きます。
2.〜/.bashrcファイルの最後に次の行を追加します。 この行は、/ home/ataディレクトリを指すPS_SNAPSHOT_DIRという環境変数を作成します。 必要に応じてターゲットディレクトリを変更します。
export PS_SNAPSHOT_DIR="/home/ata"
![〜/.bashrcファイルにUbuntu環境変数を追加する](https://adamtheautomator.com/wp-content/uploads/2022/05/image-621.png)
保存して閉じます 〜/ .bashrc 編集後のファイル。
3.以下のコマンドを実行して、ターミナルセッションを再起動しなくても変更が有効になるようにします。
source ~/.bashrc
echo $PS_SNAPSHOT_DIR
以下に示すように、システムは新しい環境変数$PS_SNAPSHOT_DIRを認識します。
![〜/.bashrcファイルをリロードする](https://adamtheautomator.com/wp-content/uploads/2022/05/image-622.png)
4.新しいターミナルセッションを再起動または開き、環境変数が持続することを確認します。
前のセッションで追加したものと同じ環境変数値が表示されるはずです。
注:この環境変数は、現在のユーザー、特に〜/.bashrcファイルで変数を作成したユーザーアカウントのみが使用できます。
5.これで、ターミナルまたはスクリプトでこの変数を参照できます。 たとえば、次のコードは、現在実行中のプロセスを$PS_SNAPSHOT_DIRディレクトリの下のps.txtという名前のテキストファイルに出力します。
# Output the process list to
ps > $PS_SNAPSHOT_DIR/ps.txt
# Read the saved process list
cat $PS_SNAPSHOT_DIR/ps.txt
![Ubuntu環境変数の参照](https://adamtheautomator.com/wp-content/uploads/2022/05/image-623.png)
この時点から、 $PS_SNAPSHOT_DIR
変数は、から削除するまで永続的です 〜/ .bashrc ファイル。
ターミナルコマンドを実行して変数を参照する以外に、スケジュールを設定できます cronジョブ 同じことをするために!
パーマネントの作成 Ubuntu環境変数(グローバル)
場合によっては、システム上のすべてのユーザーに環境変数を設定したいことがあります。 グローバル環境変数の設定は、複数のユーザーが特定の外部サービスまたはツールにアクセスする必要がある共有開発環境で特に役立ちます。
たとえば、開発者のチームは、毎回同じSMTPサーバー構成を使用して、共通の送信者からのテスト電子メールを送信する必要がある場合があります。 内に変数を追加することで、システム全体のUbuntu環境変数を設定できます。 / etc / environment ファイル。
以下の使用例のデモンストレーションでは、Office 365AuthenticatedSMTPリレーを使用しています。
1.を開きます / etc / environment nanoなどのテキストエディタでファイルを作成します。
sudo nano /etc/environment
2.の最後に次の行を追加します / etc / environment ファイル。 これらの環境変数には、SMTPサーバー、資格情報、送信者、および受信者の情報が含まれます。 SMTPの詳細ごとにこれらの値を変更します。
/ etc / environmentファイルに行を追加するときは、exportコマンドを前に付けないでください。 The pam_env exportキーワードをサポートしない/etc/environmentファイルを処理します。
編集後、/ etc/environmentファイルは以下のスクリーンショットのようになります。 変数を追加したら、ファイルを保存してエディターを閉じます。
![グローバル環境変数の追加](https://adamtheautomator.com/wp-content/uploads/2022/05/image-624.png)
3.次に、コンピューターからログアウトし、再度ログインして変更を有効にします。 そうして初めて、システムはグローバル環境変数をロードします。
4.ログイン後、以下のコマンドを実行して、グローバル変数が存在することを確認します。 環境変数の値が正しいことを確認してください。
echo $SMTP_SERVER
echo $SENDER_ADDRESS
echo $SENDER_USERNAME
echo $SENDER_PASSWORD
echo $RECIPIENT_ADDRESS
5.次に、テストメッセージをトリガーして、グローバル環境変数をテストします。
# Create the subject and email body and save it to the file called ./email.txt
echo "Subject: (user=$USER) Ubuntu Environment Variables
This message was sent using Office 365." > ./email.txt
# Send the message using cURL
curl $SMTP_SERVER
--mail-from $SENDER_ADDRESS
--mail-rcpt $RECIPIENT_ADDRESS
--user $SENDER_USERNAME:$SENDER_PASSWORD
--upload-file ./email.txt
--ssl-reqd
![グローバル環境変数からSMTPサーバーの詳細を取得する](https://adamtheautomator.com/wp-content/uploads/2022/05/image-625.png)
6.受信者の受信トレイをチェックして、電子メールの配信を確認します。 以下に示すように、 根 ユーザーはこのメッセージを送信し、グローバル変数値を使用してSMTP設定を定義しました。
![ルートから送信されたメール配信の確認](https://adamtheautomator.com/wp-content/uploads/2022/05/image-626.png)
7.次に、別のユーザーアカウントにログオンします。 この例では、アカウントはルートからataに切り替わります。
8.手順5と同じコマンドを再実行して、同じグローバル環境変数を読み取りながら、現在のユーザーアカウントからテストメールを送信します。
9.メッセージ送信コマンドを実行した後、受信者の受信ボックスを再度確認し、電子メールの配信を確認します。 以下に示すように、メッセージは同じ送信者から送信されましたが、電子メール配信をトリガーしたユーザーは最初のユーザーと同じではありません。
![ataから送信されたメール配信の確認](https://adamtheautomator.com/wp-content/uploads/2022/05/image-627.png)
このテストは、コンピューター上のすべてのユーザーがグローバル変数にアクセスできることを確認します。
Ubuntu環境変数の削除
最終的には、システムから環境変数を削除したい場合があります 一時的に。 The unset
コマンドは、ターミナルから環境変数を作成したか、変数エントリをに追加したかに関係なく、必要なものです。 〜/ .bashrc と / etc / environment ファイル。
たとえば、設定を解除するには SMTP_SERVER
変数の場合は、以下のコマンドを実行します。
# check the current variable value before unsetting
echo $SMTP_SERVER
# unset the variable
unset SMTP_SERVER
# check the variable value after unsetting
echo $SMTP_SERVER
画面にすべての環境変数を出力するには、export-pコマンドを実行します。
以下に示すように、変数とその値は、unsetコマンドの後に存在しなくなります。
![現在のセッションで環境変数を削除する](https://adamtheautomator.com/wp-content/uploads/2022/05/image-628.png)
注:unsetコマンドは、現在のシェルセッションから環境変数のみを削除します。 環境変数を完全に削除するには、対応する変数エントリを〜/.bashrcファイルまたは/etc/environmentファイルから削除する必要があります。
結論
このチュートリアルでは、現在のセッション、現在のユーザー、およびシステム全体でUbuntu環境変数を設定および管理する方法を説明しました。 また、必要に応じて環境変数の設定を解除する方法も学びました。
このチュートリアルではいくつかの基本的な例しか取り上げていませんが、学習した手法を適用して、システム上の環境変数を設定および管理できます。 多分 デフォルトのテキストエディタを変更する また ご希望のJavaインストールへのパスを設定する あなたが試してみるべき次の優れた例になるでしょう!
The post Ubuntu環境変数をまとめる方法 appeared first on Gamingsym Japan.