■bash の環境変数を確認する
現在、デフォルトで追加されているbashの環境変数を表示させるには、
env 、もしくは、
echo
$PATH を実行します。
$ echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11
:/usr/X11R6/bin:/root/bin |
|
新しくパスを追加したい場合は、export コマンドを使って、
export PATH=$PATH:追加するパス
のようにします。以下では、Apache2のパスを追加した例です。
# export PATH=$PATH:/usr/local/apache2/bin/
# echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11
:/usr/X11R6/bin:/root/bin:/usr/local/apache2/bin/ |
|
上記のようにすることで新しいパスを追加することができましたが、export コマンドでは一時的にしか反映されず、システム再起動時や、再ログイン時には無効になってしまいます。けれども、その度にいちいちexport
コマンドを使用してパスを追加していたのでは気が狂ってしまいそうになるので、恒久的に有効にするために
.bash_profile に上記のコマンドを追加してしまいます。.bash_profile は各ユーザーごとにホームディレクトリ直下にデフォルトで用意されていますのでそれを編集します。ここでは、Apache2
に加えてOpenSSLのパスも追加してみます。複数のパスを追加する場合は、コロン「 : 」で区切って列挙していってください。
# ls -la
-rw-r--r-- 1 root root 293 12月 30 11:26
.bash_profile
-rw-r--r-- 1 root root 176 8月 24 1995 .bashrc
# vi .bash_profile
PATH=$PATH:$HOME/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
export PATH=$PATH:/usr/local/apache2/bin:/usr/local/ssl/bin |
|
これで長たらしいパスをいちいち入力する手間が省けました。ここでもう一度、echo $PATH コマンドを実行すると、シェルにはexport
コマンドで実行したApache のパスは追加されていますが、OpenSSL のパスはシェルに反映されていません。これでは有効になっているとはいえ表示上、不都合なので
source コマンドを使ってシェルにも反映させてあげます。
# echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11
:/usr/X11R6/bin:/root/bin:/usr/local/apache2/bin:/root/bin
:/usr/local/apache2/bin
# source .bash_profile
# echo $PATH
/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/bin/X11
:/usr/X11R6/bin:/root/bin:/usr/local/apache2/bin:/root/bin
:/usr/local/apache2/bin:/usr/local/ssl/bin
|
|
なお、.bash_profile の他にも
.bashrc というファイルも存在し、.bashrc
では別のシェルが起動したときにも実行されるようになるので、例えば、startx コマンドでX Windows
にログインし、kterm を使用した時にも実行できるようになります。