環境変数の設定と.bashrcの使い方

当ページのリンクには広告が含まれています。

## はじめに

環境変数はシェルやプロセスから参照される設定値で、`PATH`、`HOME`、`LANG`、アプリケーション固有の `JAVA_HOME` や `NODE_ENV` など多種多様です。これを永続化するのが `.bashrc` `.bash_profile` などのシェル初期化ファイルです。

ログインシェルとインタラクティブシェルでどのファイルが読み込まれるかが異なるため、置き場所を間違えると「ターミナルでは効くがcronでは効かない」といったトラブルが起こります。本記事で読み込み順を整理します。

## 症状・背景

環境変数設定 が必要になる主な場面:

– 開発ツール (Node.js, Python, Go) のパス追加
– プロキシ設定 (http_proxy, https_proxy)
– ロケール・言語設定 (LANG, LC_ALL)
– アプリケーションのモード切替 (NODE_ENV など)

[図解画像をここに表示]

## 手順・設定方法

### ステップ1: 環境変数の確認と一時設定

“`bash
# 現在の環境変数を表示
env
printenv

# 特定の変数を確認
echo $PATH
echo $HOME
printenv LANG

# 一時的に設定 (現在のシェルのみ)
MYVAR=”hello” # シェル変数 (子プロセスには引き継がれない)
export MYVAR=”hello” # 環境変数 (子プロセスにも継承)

# コマンドにだけ一時的に変数を渡す
NODE_ENV=production node app.js
“`

### ステップ2: bashの初期化ファイル

“`
ログインシェル時:
/etc/profile → ~/.bash_profile → (~/.bash_login → ~/.profile)
通常 .bash_profile から ~/.bashrc を読み込む

非ログイン (インタラクティブ) シェル時:
/etc/bash.bashrc → ~/.bashrc

スクリプト実行時:
どちらも読まれない (BASH_ENV指定時のみ)
“`

“`bash
# ~/.bash_profile の典型例
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
“`

### ステップ3: .bashrc に環境変数を設定

“`bash
# ~/.bashrc に追記
vi ~/.bashrc
“`

“`bash
# === 環境変数 ===
export PATH=”$HOME/bin:$HOME/.local/bin:$PATH”
export EDITOR=”vim”
export LANG=”ja_JP.UTF-8″

# Node.js (nvm)
export NVM_DIR=”$HOME/.nvm”
[ -s “$NVM_DIR/nvm.sh” ] && source “$NVM_DIR/nvm.sh”

# Go
export GOPATH=”$HOME/go”
export PATH=”$PATH:$GOPATH/bin”

# プロキシ
# export http_proxy=”http://proxy.example.com:8080″
# export https_proxy=”$http_proxy”

# === エイリアス ===
alias ll=’ls -lah’
alias gs=’git status’
alias ..=’cd ..’
“`

“`bash
# 設定を反映
source ~/.bashrc
# または
. ~/.bashrc
“`

### ステップ4: システム全体と特殊な設定

“`bash
# システム全体 (root権限)
# 全ユーザー対象 → /etc/environment (key=value形式、export不要)
sudo vi /etc/environment
# 例: LANG=”ja_JP.UTF-8″

# /etc/profile.d/ にスクリプトを置く (推奨)
sudo tee /etc/profile.d/myapp.sh > /dev/null <<'EOF' export MYAPP_HOME=/opt/myapp export PATH=$PATH:$MYAPP_HOME/bin EOF sudo chmod 644 /etc/profile.d/myapp.sh # 設定したのに反映されないときの確認 env | grep MYVAR # 現在の値 shopt -q login_shell && echo login || echo no-login echo $0 # bashの起動形態 ``` ## 注意事項 - `.bashrc` は非ログインシェル用、`.bash_profile` はログインシェル用。多くの環境では `.bash_profile` から `.bashrc` を読み込む構成が標準 - cronで動かすスクリプトでは `.bashrc` は読まれません。明示的に環境変数を `source` するか、スクリプト内で定義 - `export` を付けないと子プロセス (起動するコマンド) に変数が引き継がれません - `PATH` の編集はミスると全コマンドが効かなくなります。先頭か末尾に追加する形が安全 ## まとめ 1. **基本**: `export VAR=value` で環境変数化、子プロセスへ継承 2. **bashrc**: 非ログインシェル用、`.bash_profile` がログイン用 3. **読込**: シェル種類で読込ファイルが変わる、混乱注意 4. **反映**: 編集後は `source ~/.bashrc` で即適用 5. **全体**: 全ユーザー設定は `/etc/profile.d/*.sh` が安全 関連記事: - [PATHの設定方法と仕組みを解説](../linux-path-variable-setup/) - [シェルスクリプトの基本的な書き方](../linux-shell-script-basics/) - [cronで定期的にシェルスクリプトを実行する方法](../linux-cron-shell-script/)

▼ 実践ガイド

【2026年】ネット証券口座の選び方とおすすめ比較 →

用語の意味がわかったら、実際の口座選びのポイントもチェックしてみてください。

※本記事に掲載している情報は、中立的な立場からの情報提供を目的としたものです。掲載している商品・サービスの購入や利用を推奨・強制するものではありません。投資には価格変動リスクが伴い、元本割れが生じる可能性があります。過去の運用実績やシュミレーション結果は、将来の運用成果を保証するものではありません。また、情報の正確性・最新性には十分配慮しておりますが、 内容の完全性や将来の結果を保証するものではありません。最終的な投資判断は、読者ご自身の判断と責任において行っていただくようお願いいたします。本記事の情報を利用したことによって生じたいかなる損害についても、当サイトでは一切の責任を負いかねますので、あらかじめご了承ください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

マネジ局長は、「お金の大辞典」全体を統括する監修者です。

編集者であるマネ辞くんが収集・整理した金融・投資・税制データについて、制度の前提条件やリスク、誤解が生じやすい点がないかをチェックし、「この情報をどう受け取るべきか」という判断軸を補足します。

特定の商品やサービスをすすめる役割ではなく、読者が冷静に考えるためのブレーキ役として設計されています。

お金の判断は急がず、理解してから選ぶ。
それがマネ辞局長の基本スタンスです。

目次