環境変数・シェル変数 概要
ユーザが使用する言語、プロンプトの表示形式など、シェルを利用するユーザーの環境状況は様々です。ユーザ環境は様々な変数によって定義されており、それぞれの環境にシェルやプログラムが利用する値が格納されています。
変数は「環境変数」「シェル変数」の2つにわけることができます。
シェル自身と、そのシェルから起動されるすべてのプロセス(別のシェル・コマンド)で有効となる変数が環境変数です。
代表的な環境変数としては、コマンドを検知するディレクトリリストを格納するPATH、ユーザーのホームディレクトリのフルパスを表すHOMEなどがあります。
一方、シェル変数は、そのシェル内でのみ有効となります。他のシェル・プログラムでは有効になりません。
シェル変数は、exportコマンドでエクスポートすることによって環境変数となり、このシェルから起動したコマンドや他のシェルでも使えるようになります。
envコマンドやprintenvコマンド
envコマンドやprintenvコマンドを実行すると、設定されている環境変数が表示されます。
$ printenv
XDG_SESSION_ID=23
HOSTNAME=centos7.example.com
SELINUX_ROLE_REQUESTED=
TERM=xterm
SHELL=bin/bash
HISTSIZE=1000
SSH_CLINET=[IP情報]
SSH_TTY=/dev/pts/0
USER=student
(…以下略)
printenvコマンドに変数を指定すると、その値だけが表示されます。
例
$ printenv HOME
/home/student
setコマンド
setコマンドを実行すると、シェル変数と環境変数が表示されます。
$ set
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force:histappend:interactive_comment:login_shell:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
BASH_ARGV=()
BASH_CMDS=()
BASH_COMPLETION_COMPAT_DIR-/etc/bash_completion.d
(…以下略)