この記事では、Linux エクスポート コマンドの基本について説明し、エクスポート コマンドを使用して Linux 環境変数を設定、表示、操作する方法を示します。
Linux の環境変数は、Linux システムで行われるほとんどのアクティビティで使用されます。 「ls」などの標準コマンドの実行から Linux ボックスへの新しいソフトウェアのインストールまで、各アクティビティは環境変数リストを使用または変更します。
環境変数の定義:
複数のアプリケーションで必要な貴重な情報が含まれているため、複数のアプリケーションで使用できる名前付きオブジェクト
1.現在エクスポートされているすべての変数を表示
以下に示すように、 export -p を使用してすべての環境変数を表示します。出力の一部をここに示します。
$ export -p declare -x COLORTERM="gnome-terminal" declare -x DEFAULTS_PATH="/usr/share/gconf/gnome.default.path" declare -x DESKTOP_SESSION="gnome" declare -x HOME="/home/himanshu" declare -x LOGNAME="himanshu" declare -x MANDATORY_PATH="/usr/share/gconf/gnome.mandatory.path" declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games" declare -x PWD="/home/himanshu" declare -x SHELL="/bin/bash" declare -x SSH_AGENT_PID="1663" declare -x USER="himanshu" declare -x USERNAME="himanshu" declare -x WINDOWID="56623107" ..
「env」コマンドを使用してこのリストを表示することもできます。
2.特定のエクスポートされた変数を表示
特定の環境変数を表示するには、echo コマンドを使用します。次の例は、PATH 環境変数の値を表示します。
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
また、env 変数でも機能する他のいくつかのコマンド (env、unset など) について説明している 15 の便利な Bash シェル組み込みコマンドも参照してください。
3.環境変数を設定する
以下に示すように、新しい環境変数を追加できます。以下は、「MYAPP」という新しい環境変数を作成し、値 1 を割り当てます。
$ export MYAPP=1
echo コマンドを使用して、環境変数が正しく設定されていることを確認してください。
$ echo $MYAPP 1
注:=記号の前後にスペースを入れないでください。たとえば、以下はすべて無効です。
$ export MYAPP = 1 -bash: export: `=': not a valid identifier -bash: export: `1': not a valid identifier $ export MYAPP =1 -bash: export: `=1': not a valid identifier $ export MYAPP= 1 -bash: export: `1': not a valid identifier
4.環境変数に値を追加
以下の例では、新しいパスを PATH 変数に追加しようとしています。 「:」を使用して値を区切ります。
$ export PATH=$PATH:/home/himanshu/practice/
値が正しく追加されたことを確認してください。
$ echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/home/himanshu/practice/
5.エクスポートなしの変数
インタラクティブ シェルで変数に値を割り当て、シェル スクリプトで同じ値にアクセスしてみてください。
$ MYAPP=1 $ cat myapp.sh #!/bin/bash echo "MYAPP=$MYAPP" MYAPP=2 echo "MYAPP=$MYAPP"
次に、以下に示すように上記のスクリプトを実行します。
$ ./myapp.sh MYAPP= MYAPP=2
それでも、変数 MYAPP の値は空白になります。シェルは、変数 MYAPP を LINUX と共に現在のシェルにのみ格納します。 myapp.sh の実行中に、シェルが生成され、スクリプトが実行されます。そのため、変数 MYAPP は生成されたシェルに値を持ちません。別のプログラム (シェル スクリプトを含む) に継承されるようにするには、変数をエクスポートする必要があります。
また、変数のローカル スコープとグローバル スコープ、bash 変数の宣言、その他のいくつかの例について説明している bash 変数のチュートリアルも参照してください。
6.変数の永続的なエクスポート
変数を永続的にエクスポートするには、次の起動ファイルのいずれかに export コマンドを追加します:
~/.profile ~/.bash_profile /etc/profile
「~/.bash_profile または ~/.bash_login が存在する場合、~/.profile は bash によって読み取られません。」などの制限がある可能性があります。したがって、「/usr/share/doc/bash/examples/startup-files」を読んで、これらのスタートアップ ファイルがどのように機能するかを理解する必要があります。
.bash_profile、.bashrc、.bash_login、.profile、および .bash_logout の実行シーケンスを理解することも重要です。これは、特定の状況に合わせて環境変数を設定するために使用するファイルを決定するのに役立ちます。