概要
`export`はシェル変数を環境変数に昇格させ、サブプロセスに継承させます。これは、プログラムの動作を制御したり、パスを追加したり、特定の構成値を渡したりするために不可欠です。
主な特徴
- 変数をサブプロセスに継承する
- PATHなどのシステム変数設定に活用する
- シェルセッション内でのみ有効(永続的ではない)
- 現在exportされている変数リストを確認する
主なオプション
`export`コマンドは主に変数割り当てと共に使用されますが、特定のフラグを通じて追加機能を実行できます。
変数管理と出力
生成されたコマンド:
コマンドを組み合わせてみてください。
説明:
`export` コマンドを実行します。
これらのオプションを組み合わせて、AIと一緒に仮想的にコマンドを実行してみてください。
使用例
`export`コマンドを活用して環境変数を設定・管理する様々な方法です。
新規環境変数の設定
export MY_VARIABLE="Hello World"
新規環境変数`MY_VARIABLE`を作成し、値を割り当ててからexportします。
既存変数のexport
EXISTING_VAR="Existing Value"
export EXISTING_VAR
既に定義されているシェル変数`EXISTING_VAR`を環境変数としてexportします。
PATHにディレクトリを追加
export PATH="/usr/local/bin/custom:$PATH"
実行ファイルがある新規ディレクトリ`/usr/local/bin/custom`を`PATH`環境変数に追加します。既存の`PATH`値は維持されます。
exportされた変数リストの確認
export -p
現在のシェルでexportされているすべての環境変数と関数リストを確認します。
変数のexport解除
export -n MY_VARIABLE
`MY_VARIABLE`をexportリストから削除し、サブプロセスに継承されないようにします。
ヒントと注意点
`export`コマンド使用時の役立つヒントと注意点です。
永続的な環境変数設定
`export`コマンドは現在のシェルセッションでのみ有効です。システム再起動後も維持されたり、すべての新規シェルで適用されたりするようにするには、ユーザーホームディレクトリの`.bashrc`、`.profile`、`.zshrc`またはシステム全体の設定ファイル(例:`/etc/profile`、`/etc/environment`)に`export`コマンドを追加する必要があります。
- ユーザー別設定: ~/.bashrc, ~/.profile, ~/.zshrc
- システム全体設定: /etc/profile, /etc/environment
サブプロセスへの継承
環境変数は親シェルから子シェルへ継承されます。つまり、`export`で設定された変数は、現在のシェルで実行されるすべてのスクリプトやプログラムからアクセスできます。ただし、子シェルで設定された環境変数は親シェルへ再度継承されません。
セキュリティ上の考慮事項
機密情報(例:APIキー、パスワード)を環境変数として設定するのは便利ですが、システムの他のユーザーやプロセスがアクセスできる可能性があるため、セキュリティに注意が必要です。特に`ps aux`のようなコマンドでプロセス環境を見ることができる場合、漏洩のリスクがあります。