Linuxのexportコマンドは、環境変数の作成に使用されます。次のように使用できます:
export myvar
または、このような省略形ですぐに値を割り当てます:
export myvar=5
エクスポートされた変数の値は、echoコマンドで確認できます:
echo $myvar
変更を永続的にするには、変更を〜/.bashrcファイルに追加する必要があります。
それは簡単な要約でした。よく理解するために詳しく見ていきましょう。
以下の例では、シェル変数varを宣言し、それに値3を割り当てます。これは今のところシェル変数です。
[email protected]:~$ var=3
[email protected]:~$ echo $var
3
ターミナルを終了して新しいターミナルを開くと、このシェル変数は表示されなくなります。この変数をシェルスクリプトで使用したい場合、機能しません。同様に、ユーザーを切り替えると(したがって、このユーザーで新しいシェルを開始すると)、このシェル変数は使用できなくなります:
[email protected]:~$ su prakash
Password:
[email protected]:/home/abhishek$ echo $var
それでは、前のユーザー(つまり、シェル変数を宣言した前のシェル)に戻りましょう。変数がまだここに存在していることがわかります(このシェルセッションをまだ終了していないため):
[email protected]:/home/abhishek$ exit
exit
[email protected]:~$ echo $var
3
したがって、変数var
でexportコマンドを使用すると ここでは、環境変数になり、このセッションのすべてのサブシェル、ユーザー、およびシェルスクリプトで使用できるようになります。
[email protected]:~$ export var
[email protected]:~$ echo $var
3
[email protected]:~$ su prakash
Password:
[email protected]:/home/abhishek$ echo $var
3
printenvコマンドを使用して、すべての環境変数を確認できます。
printenv
bashrcファイルを使用してエクスポートされたシェル変数を「永続的」にします
しかし、闘争はここで終わりではありません。セッションを閉じたり、ターミナルを終了したり、ログアウトしたり、システムを再起動したりすると、環境変数は再び消えます。
これが、シェルのランタイム構成(rc)ファイルにエクスポートコマンドを追加するのが一般的な方法である理由です。
すべてのシェルには、ユーザーのホームディレクトリにあるこのrcファイルがあり、シェルの起動時に変数やその他の構成を決定するために使用されます。ユーザーは、このrcファイルを使用して、シェルとその動作をカスタマイズできます。
bashシェルを使用している場合は、〜/ .bashrcにbashrcファイルが必要です。 。このファイルはVimなどのテキストエディタで編集するか、 export var =3を追加するだけです。 (またはエクスポートするものは何でも)このファイルに。
完了したら、sourceコマンドを使用して、変更をすぐに利用できるようにする必要があります。
すべてのユーザー定義の環境変数を1か所に保持することをお勧めします。
exportコマンドの最も一般的な使用法の1つは、パスに何かを追加して、Linuxシステムが特定のコマンド/実行可能ファイルを検出できるようにする場合です。
たとえば、Mavenをインストールして実行できるようにする場合は、Maven実行可能ファイルのディレクトリの場所を次のようにパスに追加する必要があります。
export PATH=/opt/maven/bin:$PATH
それは何をするためのものか?このディレクトリの場所をパスに追加します。 Linuxでコマンドを実行しようとすると、システムはPATH変数で指定されたディレクトリで実行可能ファイル(通常はbinディレクトリ)を検索します。
[email protected]:~$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
[email protected]:~$ export PATH=/opt/maven/bin:$PATH
[email protected]:~$ echo $PATH
/opt/maven/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
より良いアイデアを得るために、Linuxディレクトリ構造について読むことを強くお勧めします。
ボーナスのヒント:エクスポートされたリストから変数を削除します
「エクスポートされた」変数を削除するとします。この方法で否定オプションを使用できます:
export -n myvar
これは変数の値をリセットしないことに注意してください。エクスポートされたグローバル変数をローカル変数に変換するだけです。以前に設定したのと同じ値が引き続き使用されます。
エクスポートされたリストから変数を削除し、割り当てられた値を削除する場合は、未設定のオプションを使用します。
unset myvar
Linuxでのexportコマンドについての理解が深まったことを願っています。ご不明な点がございましたら、コメント欄でお気軽にお問い合わせください。