export エクスポート

英語表記export

日本語表記環境変数エクスポート

正式名称export

危険度安全

What does it mean?

シェル変数を子プロセスへ引き継がれる環境変数として公開します。シェル変数と環境変数の違いを理解する要です。

Command Quest

export を今日の道具にする

シェル変数を子プロセスへ引き継がれる環境変数として公開します...

$ export 名前 export 名前=値 export -p
関連用語10
次のコマンド0
FAQ1
参照4

概要

シェル変数を子プロセスへ引き継がれる環境変数として公開します。シェル変数と環境変数の違いを理解する要です。

基本構文

export 名前
export 名前=値
export -p

詳細解説

exportは、シェル内部で管理している変数にエクスポート属性を付け、以後に起動する子プロセスへ環境変数として渡せるようにするコマンドです。単に変数へ代入しただけでは、同じシェルの中でしか見えません。exportして初めて外部コマンドやシェルスクリプトへ引き継がれます。

この違いはLinux学習で非常に重要です。PATH、HOME、LANG、EDITORのような値は典型的な環境変数で、動作や表示に直接影響します。

このコマンドを使う場面

変数を外部コマンドや子シェルへ引き継ぎたい時に使います。PATH、LANG、EDITOR、PAGER、http_proxyなどを設定する場面が代表例です。

まず安全に試す方法

1. FOO=hello
2. sh -c "echo ${FOO-unset}"
3. export FOO
4. sh -c "echo $FOO"

3分ミッション

少しでも手を動かすと定着しやすくなります。終わった項目にチェックを入れてください。

  1. export前後で子シェルから見える値が変わることを確認します。

資格試験との関連

  • LinuC レベル1
    範囲: 1.03.1 コマンドラインの操作
    根拠: official
    LinuCレベル1では、コマンドライン操作やシェル環境の理解が問われます。exportはその基礎を支える代表的なコマンドです。
  • LPIC-1
    範囲: 105.1 シェル環境のカスタマイズと利用
    根拠: official
    LPIC-1では、シェル環境、変数、履歴、コマンド解決の理解が重視されます。exportはその周辺知識と一緒に学ぶ価値が高いコマンドです。
  • 共通基礎
    範囲: Linuxコマンド基礎
    根拠: editorial
    試験横断で、exportはコマンドライン操作、手順読解、トラブルシュートの基礎体力を作る項目です。

オプション

  • -p
    エクスポート済み変数を一覧表示します。
    export -p

実行結果サンプル

  • FOO=hello export FOO sh -c "printf %sn $FOO"
    hello

戻り値コード

  • 0 正常終了しました。
  • >0 不正な識別子の指定などでエラーになりました。

使用例

  • export PATH="$HOME/bin:$PATH"
  • export LANG=C
  • export EDITOR=vim
  • export -p | grep PATH

よくあるエラー

  • 変数を設定したのにスクリプト側で見えない
    原因: exportしていないため、子プロセスへ引き継がれていません。
    対処: export 変数名、またはexport 名前=値を使います。

導入・互換性情報

POSIXではexportは特殊組み込みとして定義されます。Bashではdeclare -xでも近い操作ができますが、移植性重視ならexportを使うのが基本です。

  • Debian GNU/Linux / 13 / Bash 5.2.37

注意点 / セキュリティリスク

PATHやLD_LIBRARY_PATHのような重要変数を誤って上書きすると、実行ファイル探索やライブラリ探索が壊れることがあります。秘密情報を環境変数へ入れる運用も漏えいリスクに注意が必要です。

FAQ

  • Q. exportとVAR=value commandの違いは何ですか。
    A. 前者は現在のシェル状態を更新し、その後の子プロセスにも影響します。後者はその1回のコマンド実行だけに限定されます。

関連用語

  • シェル
  • Bash
  • Zsh
  • Fish
  • POSIXシェル
  • 環境変数
  • PATH
  • LANG
  • ロケール
  • Bash scripting

参照リンク

関連記事