~/.bashrc
é lido por uma sessão interativa sem logon de bash
, não por sessões não interativas.
ssh remote some_command
está executando some_command
em uma sessão não interativa de bash
, portanto, o controle remoto ~/.bashrc
não está sendo lido (e, claro, a leitura do local está fora de questão).
A sessão não-interativa de bash
pode ler o arquivo definido pela variável de ambiente BASH_ENV
ou ENV
(se definido).
Se você quiser ficar com os aliases, abra o shell no modo interativo também:
ssh remote bash -ic 'll'
Observe também que, os aliases são independentes, eles não aceitam nenhum argumento como se você estivesse fornecendo um nome de diretório. Você precisa usar funções para ter argumentos como entradas. Uma definição de função semelhante seria:
ll_f () { ls -al --color=auto "$@" ;}
Agora você pode fazer:
ll_f /dir_name