Por que os aliases estão faltando dentro do comando bash?

2

Quando eu corro no meu terminal:

alias

uma lista com todos os meus aliases (definidos em ~/bashrc e ~/.bash_aliases arquivos) será exibida no meu terminal. Isso é legal e como esperado!

Mas quando eu corro:

bash -c "alias"

não há saída, portanto não há aliases. Primeiro, pensei que ~/.bashrc file não é originado no segundo caso, então eu corri:

bash -c ". ~/.bashrc && alias"

mas, estupor, mais uma vez não há saída ...

Curiosamente, quando eu corro:

bash -c ". ~/.bash_aliases && alias"

apenas os alias definidos em ~/.bash_aliases serão exibidos.

Alguém pode fazer alguma luz e me fazer entender exatamente o que está acontecendo aqui?

    
por Radu Rădeanu 16.07.2014 / 21:31

1 resposta

5

Você precisa de um shell interativo para as definições de alias:

bash -i -c "alias"
    
por 16.07.2014 / 21:39