bashシェルスクリプトの解説 環境変数

今回は、bashの環境変数について解説します。

bash 環境変数とは

環境変数は、シェル自身とシェルから起動されるすべてのプロセスで有効となる変数です。
他の言い方でいうと、シェルとその子プロセスが共有する変数のことです。

代表的な環境変数は、下記があります。

PATH 
コマンドを検索するディレクトリリスト(ls)などのプログラムを格納しているディレクトリを変数として持っています。
下記のディレクトリが環境変数PATHに含まれています。
 PATH=/home/user/.local/bin:/home/user/bin:/usr/local/bin:/usr/bin:/usr/local /sbin:/usr/sbin

つまり usr/sbinやuser/local/binなどにあるコマンド(プログラム)は、/usr/bin/lsとしなくてもlsで実行されます。

HOME 
ユーザのHOMEディレクトリが設定されています。
HOME=/home/test01

bash 環境変数の確認方法

環境変数は、envコマンドやprintenvコマンドで確認できます。
下記は、コマンドを実行した履歴です。

[test01@localhost ~]$ printenv
SHELL=/bin/bash
HISTCONTROL=ignoredups
HISTSIZE=1000
HOSTNAME=localhost
PWD=/home/test01
LOGNAME=test01
XDG_SESSION_TYPE=tty
MOTD_SHOWN=pam
HOME=/home/test01
LANG=ja_JP.UTF-8
SSH_CONNECTION=192.168.234.1 51758 192.168.234.128 22
XDG_SESSION_CLASS=user
SELINUX_ROLE_REQUESTED=
TERM=xterm
LESSOPEN=||/usr/bin/lesspipe.sh %s
USER=test01
SELINUX_USE_CURRENT_RANGE=
SHLVL=1
XDG_SESSION_ID=4
XDG_RUNTIME_DIR=/run/user/1000
SSH_CLIENT=192.168.234.1 51758 22
DEBUGINFOD_URLS=https://debuginfod.centos.org/
which_declare=declare -f
XDG_DATA_DIRS=/home/test01/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
PATH=/home/test01/.local/bin:/home/test01/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
SELINUX_LEVEL_REQUESTED=
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/test01
SSH_TTY=/dev/pts/1
BASH_FUNC_which%%=() { ( alias;
eval ${which_declare} ) | /usr/bin/which –tty-only –read-alias –read-functions –show-tilde –show-dot $@
}
_=/usr/bin/printenv
[test01@localhost ~]$

[test01@localhost ~]$ env
SHELL=/bin/bash
HISTCONTROL=ignoredups
HISTSIZE=1000
HOSTNAME=localhost
PWD=/home/test01
LOGNAME=test01
XDG_SESSION_TYPE=tty
MOTD_SHOWN=pam
HOME=/home/test01
LANG=ja_JP.UTF-8
SSH_CONNECTION=192.168.234.1 51758 192.168.234.128 22
XDG_SESSION_CLASS=user
SELINUX_ROLE_REQUESTED=
TERM=xterm
LESSOPEN=||/usr/bin/lesspipe.sh %s
USER=test01
SELINUX_USE_CURRENT_RANGE=
SHLVL=1
XDG_SESSION_ID=4
XDG_RUNTIME_DIR=/run/user/1000
SSH_CLIENT=192.168.234.1 51758 22
DEBUGINFOD_URLS=https://debuginfod.centos.org/
which_declare=declare -f
XDG_DATA_DIRS=/home/test01/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share
PATH=/home/test01/.local/bin:/home/test01/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
SELINUX_LEVEL_REQUESTED=
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
MAIL=/var/spool/mail/test01
SSH_TTY=/dev/pts/1
BASH_FUNC_which%%=() { ( alias;
eval ${which_declare} ) | /usr/bin/which –tty-only –read-alias –read-functions –show-tilde –show-dot $@
}
_=/usr/bin/env
[test01@localhost ~]$

まとめ

本日は、bashの環境変数について解説しました。

タイトルとURLをコピーしました