Linuxのexportコマンドとは?環境変数を子プロセスへ渡す方法を初心者向けに解説
生徒
「先生、Linuxで環境変数って何ですか?」
先生
「環境変数とは、Linuxで使う設定情報のことです。パスやユーザー名など、システムやアプリが使う変数をまとめたものですね。」
生徒
「その環境変数を他のプログラムに渡すことはできますか?」
先生
「はい、それがLinuxのexportコマンドです。環境変数を設定して、子プロセスに渡すことができます。」
生徒
「難しそうですが、初心者でも使えますか?」
先生
「もちろんです。基本を押さえれば、Linux初心者でも簡単に使えます。一緒に例を見ながら理解しましょう。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. exportコマンドとは?
exportコマンドは、Linuxで環境変数(かんきょうへんすう)を子プロセスに渡すための基本的なコマンドです。子プロセスとは、現在のシェルから起動するプログラムやスクリプトのことです。Linuxでは環境変数を設定しておかないと、他のコマンドやアプリが正しく動作しない場合があります。
例えば、PATH(パス)という環境変数は、どこにコマンドがあるかをLinuxに教える重要な変数です。exportを使うと、設定した環境変数が他のコマンドでも使えるようになります。
2. 環境変数を設定する基本
Linuxで環境変数を設定する方法はとても簡単です。例えば、MY_VARという名前の環境変数に「hello」という値を設定する場合は、次のように書きます。
MY_VAR="hello"
echo $MY_VAR
hello
この方法で変数を作るだけでは、子プロセスには渡されません。子プロセスに渡すにはexportが必要です。
3. exportコマンドの基本的な使い方
環境変数を子プロセスに渡すには、次のようにexportを使います。
export MY_VAR="hello"
bash
echo $MY_VAR
hello
上記の例では、exportした変数MY_VARが、新しく起動したbashシェルでも使えることがわかります。exportを使わないと、新しいシェルでは値が空になります。
4. 複数の環境変数をまとめてexportする方法
複数の環境変数をまとめて設定したい場合は、次のように書くことができます。
export VAR1="value1" VAR2="value2" VAR3="value3"
echo $VAR1 $VAR2 $VAR3
value1 value2 value3
これで、VAR1、VAR2、VAR3のすべての変数が子プロセスに渡されます。Linuxのスクリプトで複数の設定を同時に渡すときに便利です。
5. exportコマンドの確認方法
現在の環境変数を確認するには、exportだけでもリストを見ることができます。
export
declare -x HOME="/home/user"
declare -x PATH="/usr/local/bin:/usr/bin:/bin"
declare -x MY_VAR="hello"
また、特定の変数だけ確認したい場合はechoを使います。
echo $MY_VAR
hello
6. 一時的に環境変数を設定してコマンドを実行する方法
exportを使わなくても、一時的に環境変数を設定してコマンドを実行することも可能です。例えば、次のように書きます。
MY_VAR="temporary" bash -c 'echo $MY_VAR'
temporary
この方法は、Linuxで一時的に設定を変更したいときや、スクリプトのテスト時に便利です。
7. 永続的に環境変数を設定する方法
Linuxで環境変数を毎回使えるようにするには、ホームディレクトリの設定ファイルに書く方法があります。一般的には.bashrcや.zshrcに追加します。
echo 'export MY_VAR="persistent"' >> ~/.bashrc
source ~/.bashrc
echo $MY_VAR
persistent
こうすることで、Linuxを再起動しても設定した環境変数が有効になります。
8. exportコマンドの便利な使い方まとめ
Linuxのexportコマンドは、環境変数を子プロセスに渡すために欠かせないコマンドです。基本を押さえるだけで、次のことができるようになります。
- 子プロセスに設定を渡す
- 複数の環境変数をまとめて設定
- 一時的に変数を設定してコマンド実行
- 永続的に環境変数を設定
Linux初心者でも、exportを使いこなすことでスクリプトやプログラムを効率よく動かせるようになります。
LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。
Linux教科書 LPICレベル1 スピードマスター問題集を見る※ Amazonアソシエイト広告リンク
まとめ
今回の記事では、Linuxで環境変数を子プロセスに渡すためのexportコマンドについて詳しく解説しました。exportを使うことで、設定した変数を新しく起動するシェルやスクリプト、アプリケーションにそのまま渡すことができ、Linuxでの作業効率を大幅に向上させることが可能です。基本的な使い方として、まず環境変数を作成し、exportを使って有効化する手順を理解することが重要です。例えば、単一の変数を設定する場合は次のように書きます。
MY_VAR="hello"
export MY_VAR
echo $MY_VAR
hello
複数の環境変数をまとめて設定する方法も解説しました。Linuxスクリプトやシステム管理では、複数の設定を一度に適用したい場面が多くあります。その場合は次のように一行でまとめることができます。
export VAR1="value1" VAR2="value2" VAR3="value3"
echo $VAR1 $VAR2 $VAR3
value1 value2 value3
また、exportを使わずに一時的に環境変数を設定してコマンドを実行する方法も紹介しました。この方法は、設定を恒久的に変更せずにテストや短期間の作業を行う際に便利です。
MY_VAR="temporary" bash -c 'echo $MY_VAR'
temporary
永続的に環境変数を設定する場合は、ホームディレクトリの設定ファイル(.bashrcや.zshrc)に追加することで、シェルを再起動しても変数が保持されます。Linuxの開発環境やサーバ管理では、この方法を使って毎回必要な変数を自動で読み込むことができます。
echo 'export MY_VAR="persistent"' >> ~/.bashrc
source ~/.bashrc
echo $MY_VAR
persistent
さらに、exportコマンドを使うことで、Linuxシステム上で効率よく変数管理が可能となり、スクリプトの可読性や再利用性も高まります。初心者でも基本操作を押さえるだけで、Linuxの開発環境や運用作業をスムーズに進めることができるようになります。
生徒
「先生、exportコマンドって使い方を覚えると本当に便利なんですね。複数の変数もまとめて設定できるなんて驚きました。」
先生
「そうですね。Linuxでは一つの変数だけでなく、複数の環境変数を同時に扱えるのが大きな強みです。スクリプトやアプリケーションの動作環境を簡単に管理できます。」
生徒
「一時的に変数を設定してコマンドを実行する方法も便利でした。テストや短期間だけ使いたいときに役立ちますね。」
先生
「その通りです。必要に応じて恒久的に設定する場合は、ホームディレクトリの.bashrcや.zshrcに書き込むと再起動しても変数が保持されます。運用効率がぐんと上がります。」
生徒
「exportを正しく使えると、Linuxでの開発や管理がずっと簡単になりそうです。」
先生
「その通りです。基本を押さえて慣れていけば、Linux初心者でも複雑な環境設定やスクリプト作成がスムーズに行えるようになります。」