su e aliases confusão

2

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ê?

    
por user4979 22.02.2011 / 13:17

3 respostas

4

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 .

    
por 22.02.2011 / 13:39
3

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 .

    
por 22.02.2011 / 14:11
1

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 .

    
por 22.02.2011 / 13:42