シェルとは
シェルはコマンドインタプリタで、標準入力またはファイルから読み込んだコマンド実行すします。

シェルの変数
シェルには環境を調整する変数としてシェル変数と環境変数があります。
変数 | 説明 |
---|---|
シェル変数 | 現在のシェル内のみ有効。子プロセスに引き継がれない。 |
環境変数 | 設定されたシェルとそのシェルで起動したプログラムが使用する変数。シェル変数をエクスポート宣言することで作成する。 |
環境変数
主な環境変数
変数名 | 説明 |
---|---|
PWD | カレントディレクトリの絶対パス |
PATH | コマンド検索パス |
HOME | ユーザーのホームディレクトリ |
PS1 | プロンプトを定義 |
HISTFILE | コマンド履歴を格納するファイルを定義 |
LANG | 言語情報 |
環境変数の設定、削除
環境変数を確認
以下のコマンドで現在の環境変数を表示します。

環境変数を設定(現在のシェルセッションのみ)
- 環境変数を一時的に変更

- 環境変数が設定されていることを確認。「env」コマンドでも環境変数を確認できます。

環境変数の変更(現在のシェルセッションのみ)
- 先ほどの環境変数「VAR_NAME」の値を変更します。

- 環境変数の値が変更されていることを確認。

環境変数の削除
- 現在のシェルセッションから環境変数を削除します。

- 環境変数が削除されていることを確認。

環境変数を恒久的に設定
以下のように環境変数が設定している状態でも新しいログインシェルが作成され、環境変数は消えてしまいます。

ログインシェルで環境変数を使用する場合「~/.bash_profile」や「.bashrc」に設定します。
以下のように新しいログインシェルを起動してもVAR_NAMEは設定されています。su – testuserでログインすると新しいログインシェルが起動します。

よく設定する環境変数
以下のようにPATHに新しいパスを追加する際はこのように書きます。Add_pathを任意で変更。
PATHにAdd_pathが追加されていることを確認できます。

.bash_profile と .bashrc の違い
ファイル | 読み込まれるタイミング | 用途 |
---|---|---|
~/.bash_profile | ログインシェル(SSH ログイン、su - user、bash --login) | 環境変数 (export PATH=… など) の設定 |
~/.bashrc | 非ログインシェル(ターミナルを開いたとき、bash を実行したとき) | エイリアス (alias ll=’ls -la’ など) やプロンプト設定 |
.bash_profileは以下のように.bashrcを読み込む設定がされている。
if [ -f ~/.bashrc ]; then . ~/.bashrc fi

シェル変数
シェル変数の確認

シェル変数の設定
- シェル変数は
=
を使って設定できます。

- 設定後、echo で確認できます。

コメント