用語集:環境変数・シェル初期化

実務で頻出する「環境変数・シェル初期化」関連の用語を、一言定義+最小実例でサッと確認。
ログイン時やプロセス起動時にどう環境が構成されるかを理解し、トラブルシューティングや運用の安定化につなげます。

このページで達成できること

  • 環境変数とシェル変数の違いを整理
  • PATHHOME といった基本環境を理解
  • .bashrc.profile など初期化ファイルの役割を把握
  • 実務での落とし穴(sudoや非対話シェルでの環境違い)を防止

すぐ引けるミニ索引

用語一言で代表コマンド
環境変数(env var)プロセスに引き継がれる設定env, printenv
シェル変数そのシェル内だけの変数set
export変数を環境に昇格export VAR=value
PATHコマンド探索パスecho $PATH
HOMEユーザーのホームディレクトリecho $HOME
シェル初期化ファイルログインや対話シェルで読む設定ファイル.bashrc, .profile
.bashrc対話シェル起動時に読む設定~/.bashrc
.bash_profile / .profileログインシェルで読む設定~/.bash_profile
/etc/profile全ユーザー共通の初期設定/etc/profile
sudo環境sudoで起動したときの環境の違いsudo -E, env

用語解説(繰り返しブロック)

環境変数(environment variable)

とは:プロセスに引き継がれるキーと値。PATHやLANGなど。
最小実例

export API_TOKEN=abc123
env | grep API_TOKEN

関連:export / シェル変数 / 初期化ファイル
落とし穴VAR=value cmd の形式はそのコマンドだけに有効。

シェル変数

とは:そのシェル内だけで使える変数。環境には渡らない。
最小実例

VAR=local
bash -c 'echo $VAR'   # 何も表示されない

関連:環境変数 / export
落とし穴:exportを忘れると子プロセスに引き継がれない。

export

とは:シェル変数を環境変数に昇格させる仕組み。
最小実例

VAR=demo
export VAR
bash -c 'echo $VAR'   # demo

関連:シェル変数 / 環境変数
落とし穴:exportしても新しいシェルを開くと消える → 初期化ファイルで永続化。

PATH

とは:コマンドを探すディレクトリ一覧。
最小実例

echo $PATH | tr ':' '\n'
command -v ls

関連:環境変数 / export / which
落とし穴:sudoやcronではPATHが短縮されていることが多い。

HOME

とは:ユーザーのホームディレクトリを指す環境変数。
最小実例

echo $HOME
cd $HOME

関連:ログインシェル / 初期化ファイル
落とし穴:sudo時はHOMEがrootに切り替わる → 設定読み込みが変わる。

シェル初期化ファイル

とは:ログインや対話シェル開始時に読み込まれる設定ファイル。環境変数やエイリアスを定義する。
最小実例

cat ~/.bashrc | head -5

関連.bashrc / .profile / /etc/profile
落とし穴:ログインシェルか非ログインシェルかで読むファイルが異なる。

.bashrc

とは:対話シェル起動時に読む個人用設定ファイル。aliasや関数などを定義。
最小実例

echo "alias ll='ls -alF'" >> ~/.bashrc
source ~/.bashrc

関連:シェル初期化ファイル
落とし穴:cronや非対話実行では呼ばれない。

.bash_profile / .profile

とは:ログインシェルで読み込まれる個人設定。PATHや環境変数の定義に使う。
最小実例

echo 'export PATH=$PATH:$HOME/bin' >> ~/.bash_profile

関連.bashrc / /etc/profile
落とし穴:環境によって.bash_profile.profileのどちらを読むか異なる。

/etc/profile

とは:全ユーザーに共通するログインシェル初期化ファイル。
最小実例

cat /etc/profile | grep PATH

関連.bash_profile / 環境変数
落とし穴:ユーザー個別設定で上書きされる場合がある。

sudo環境

とは:sudo経由で実行すると環境変数が制限・書き換えられる仕組み。
最小実例

env | grep PATH
sudo env | grep PATH

関連sudo -E / /etc/sudoers
落とし穴:sudo時はHOMEやPATHが変わる。環境依存バグの原因になりやすい。

運用の現場Tips

  • 永続設定は初期化ファイルへ:一時exportではセッションをまたげない
  • PATHの順序管理:先頭に置いたディレクトリの実行ファイルが優先される
  • sudo実行の罠:環境が変わる前提でスクリプトを設計
  • テスト方法env -i bash --noprofile --norcで「まっさら環境」を確認可能

関連リンク(学習ハブ内)

学びを“実務”へつなぐ最短ルート

独学で積み上げた「わかった」を、仕事で使える「できる」へ。
学習ハブの内容を踏まえて、実務に直結する学習設計・添削・質問環境を整えたい人は、下記のページで具体的な進め方を確認してください。

Bash玄

はじめまして!Bash玄です。

エンジニアとしてシステム運用に携わる中で、手作業の多さに限界を感じ、Bashスクリプトを活用して業務を効率化したのがきっかけで、この道に入りました。「手作業は負け」「スクリプトはシンプルに」をモットーに、誰でも実践できるBashスクリプトの書き方を発信しています。

このサイトでは、Bashの基礎から実践的なスクリプト作成まで、初心者でもわかりやすく解説しています。少しでも「Bashって便利だな」と思ってもらえたら嬉しいです!

# 好きなこと
- シンプルなコードを書くこと
- コマンドラインを快適にカスタマイズすること
- 自動化で時間を生み出すこと

# このサイトを読んでほしい人
- Bashに興味があるけど、何から始めればいいかわからない人
- 定型業務を自動化したい人
- 効率よくターミナルを使いこなしたい人

Bashの世界に一歩踏み出して、一緒に「Bash道」を極めていきましょう!

Bash玄をフォローする