昔から su コマンドを何気に使用しているのだが、理解が曖昧だったので覚え書き。
例えば oracleユーザで試してみる。
[bash]
su oracle
echo $ORACLE_BASE
← 環境変数が設定されていないので何も表示されない
[/bash]
ハイフン(-) または(-l)付きの場合は、ログインするユーザのログインシェルを読み込む。
[bash]
su – oracle
echo $ORACLE_BASE
/u01/app/oracle
[/bash]
改めて納得。