はじめに

こんにちは!今回はexportコマンドについて解説します。

exportは環境変数を設定するコマンドなんですけど、最初「環境変数って何?」ってなりますよね。僕も最初よくわかんなかったです。

でも慣れれば簡単なので、一緒に見ていきましょう。

exportコマンドとは

exportは、シェル変数を環境変数として設定するコマンドです。

「は?」ってなると思うので説明すると、普通に変数を作っただけだと、その変数は今のシェルの中でしか使えないんです。でもexportすると、そのシェルから起動したプログラムとかでも使えるようになります。

要するに、「この変数、子プロセスでも使えるようにしといて」っていうコマンドです。

基本構文

1
export 変数名=

または

1
2
変数名=export 変数名

どっちでもOKです。

使用例

例1: 環境変数を設定

1
export MY_NAME="太郎"

これでMY_NAMEという環境変数が作られます。

例2: 環境変数を確認

1
2
export MY_NAME="太郎"
echo $MY_NAME

実行結果:

1
太郎

$を付けて変数の中身を見られます。

例3: 既存の変数をエクスポート

1
2
MY_VAR="test"
export MY_VAR

先に変数を作ってから、後でエクスポートすることもできます。

例4: パスを追加

1
export PATH="$PATH:/new/path"

これはよくやる使い方です。既存のPATHに新しいパスを追加してます。

例5: 環境変数の一覧を表示

1
export

オプションなしで実行すると、今設定されてる環境変数が全部表示されます。

よく使う環境変数

変数名 説明
PATH コマンドを探すディレクトリのリスト
HOME ホームディレクトリのパス
USER 現在のユーザー名
SHELL 使用しているシェルのパス
LANG 言語設定

これらは既に設定されてることが多いです。

Tips・注意点

  • 一時的な設定: ターミナルを閉じると消えます

    1
    
    export MY_VAR="test"  # ターミナル閉じたら消える
    
  • 永続的にする方法: .bashrc.bash_profileに書いておくと、次回起動時も有効になります

    1
    2
    
    # ~/.bashrc に追記
    export MY_VAR="test"
    
  • exportなしとの違い: exportしないと子プロセスで使えません

    1
    2
    3
    4
    5
    6
    7
    
    # exportなし
    MY_VAR="test"
    bash -c 'echo $MY_VAR'  # 何も表示されない
    
    # exportあり
    export MY_VAR="test"
    bash -c 'echo $MY_VAR'  # testが表示される
    
  • 上書きに注意: 既存の環境変数を上書きすると、元に戻せないので注意

    1
    2
    3
    4
    5
    
    # PATHを完全に上書き(危険!)
    export PATH="/new/path"
    
    # 追加する場合(安全)
    export PATH="$PATH:/new/path"
    

実践的な使い方

プログラムの設定

1
export EDITOR="vim"

使うエディタを指定したりします。

開発環境の設定

1
2
3
export NODE_ENV="development"
export DB_HOST="localhost"
export DB_PORT="5432"

開発でよく使います。データベースの接続情報とかを環境変数で管理するんです。

パスの追加

1
export PATH="$HOME/bin:$PATH"

自分のスクリプトを置いたディレクトリをPATHに追加したり。

.bashrcでの設定例

1
2
3
4
# ~/.bashrc
export LANG=ja_JP.UTF-8
export EDITOR=vim
export PATH="$HOME/bin:$PATH"

こんな感じで.bashrcに書いておくと、ログイン時に自動で設定されます。

まとめ

今回はexportコマンドについて解説しました。

ポイント:

  • exportで環境変数を設定できる
  • 子プロセスでも使える変数になる
  • ターミナル閉じたら消えるので、永続化したい時は.bashrcに書く
  • PATHの追加とかでよく使う

最初はちょっとわかりにくいかもですけど、使ってるうちに慣れます。特に開発やってると頻繁に使うコマンドなので、覚えておいて損はないですよ。

次回もLinuxコマンドの学習を続けていきましょう!