Isso ocorre porque su cria um novo shell, começando do zero. Portanto, se você quiser que seu alias persista, será necessário criá-lo em .bashrc .
Eu crio um alias como meu usuário atual no bash shell, que eu posso ver usando o comando alias.
Quando eu alterno o usuário sem o - , ou seja, su testuser , o alias não é transportado para o ambiente do novo usuário.
Alguma ideia do porquê?
De man su :
The optional argument - may be used to provide an environment similar
to what the user would expect had the user logged in directly.
Como asoundmove e Barun explicaram, su inicia um novo shell, então sem o - é como rodar bash --norc .
A coisa é, quando você cria qualquer alias no terminal, é temporário. Se você abrir outro terminal enquanto estiver conectado como o mesmo usuário, não poderá acessar esse alias. Então, você precisa armazená-los permanentemente, como dito por asoundmove , no arquivo .bashrc . Você também pode armazená-lo em qualquer outro arquivo, mas isso deve ser incluído no seu arquivo .bashrc .