O arquivo estava sendo adquirido, mas a execução foi interrompida quando ele chegou a esta instrução case , que só continuará se estiver sendo originado em um shell no modo interativo.
case $- in
*i*) ;;
*) return;;
esac
A variável $- representa os sinalizadores com os quais o shell atual foi inicializado. Se não vir i (o sinalizador para o modo interativo), o código retornará. Como o shell não estava sendo executado no modo interativo, source .bashrc parou quando atingiu essa instrução case .
Para referência, a saída de echo $- ao usar um shell interativo normal é himBH . A saída de su -l -c 'echo $-' ghost , no entanto, vejo hBc .
Mover as linhas nvm acima dessa instrução resolveu o problema, assim como colocá-las em uma .profile ou .bashrc limpa.