複数の環境変数を設定するシェルスクリプトを書いていざ実行してみると、何度やっても環境変数が設定されないといった経験はないだろうか。 それもそのはず、シェルスクリプトが実行されるとき、別のシェルが新たに起動してそこで実行されているのである。シェルスクリプトが終了するとそれを起動した元のシェルに戻り、環境変数の設定や変更は全く反映されていない。 シェルスクリプトで現在の環境に対して環境変数の設定及び変更をするには、そのシェルスクリプトを現環境(現在のシェル)で実行する必要があるのだ。そのためにはsourceコマンドでシェルスクリプトを実行する必要がある。 [mobile@localhost mobile]$ source setenv.sh sourceコマンドの代わりに.(ピリオド)でも同じ結果が得られる。また、.bash_profileを書き換えたときにもsourceコマンドで実行すれば、