Você precisa de um shell interativo para as definições de alias:
bash -i -c "alias"
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?
Tags command-line bash alias