O comando su
não altera a Variável de ambiente HOME
no Solaris. É assim que funciona. No Linux e * BSD, su
faz reset HOME
, eu acho que é uma diferença BSD / SysV. O Bash está se comportando perfeitamente normalmente: ele tenta carregar ~/.bashrc
e, como HOME
ainda é /root
, isso é /root/.bashrc
.
A ideia é que, quando você su
to root, o shell que você inicia e outros programas ainda procurarão por seus arquivos de configuração em seu diretório inicial. Se você quisesse o ambiente do usuário de destino, você executaria su -
.
Se você deseja definir HOME
, caso contrário, deixe o ambiente inalterado, defina-o explicitamente.
HOME=~myuser su myuser
Se o bash carrega um arquivo de todo o sistema é uma opção de tempo de compilação. Essa opção está habilitada no Ubuntu, mas desabilitada no OmniOS.