シェル変数と環境変数
シェル変数: 変数を定義したシェルプロセスのみで利用可能
環境変数: 変数を定義したシェル上及びそのシェルで実行されるプログラム (シェルの子プロセス) にも引き継がれる
- よく利用される環境変数 -
環境変数 | 説明 |
---|---|
PATH | コマンドやプログラムを検索するディレクトリリスト |
PWD | カレントディレクトリ |
HOSTNAME | ホスト名 |
USER | 現在のユーザー |
LANG | ロケール |
HOME | カレントユーザーのホームディレクトリ |
LOGNAME | ログインシェルのユーザー名 |
PS1 | プロンプトの表示文字列 |
PS2 | 複数行にわたる入力時のプロンプト |
HISTSIZE | コマンド履歴の最大値 |
HISTFILE | コマンド履歴を格納するファイル |
HISTFILESIZE | HISTFILE に保存する履歴数 |
TERM | 端末の種類 |
$ echo $TERM
xterm-256color
$ echo $HISTFILESIZE
1000
$ echo $HISTFILE
/home/ec2-user/.bash_history
$ echo $LANG
en_US.UTF-8
$ echo $USER
ec2-user
$ echo $HOSTNAME
ip-10-1-11-92
$ echo $PWD
/home/ec2-user
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin
変数を削除するのは unset コマンド。
$ test='THis is a test'
$ echo $test
THis is a test
$ unset test
$ echo $test
環境変数 PATH
プロンプトが表示されている状態でコマンドを入力すると、シェルはそのコマンドを実行する。
コマンドには内部コマンドと外部コマンドがある。
内部コマンド: シェル自体に組み込まれているもの
外部コマンド: 独立したプログラムとして存在するもの
外部コマンドの場合は、シェルはそのコマンドがどこにあるかを、環境変数 PATH に指定されたディレクトリから探す。
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin
$ PATH=$PATH:/opt/bin
$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin:/opt/bin