Com o seu alias acima de ssh, provavelmente não haverá cores, onde se você alterar o alias para alias l.='ls -d .* --color'as cores aparecerão. Apenas pensei em acrescentar isso. Pelo menos eu estava experimentando isso.
Terrance
@Terrance Eu estava pensando sobre isso ... Eu ainda obter nenhuma cor (e sem colunas) embora eu começar a cor (e colunas) como antes depois de mudar o alias (e fazendo source .bashrc)
Zanna
1
ah ha! Eu acho que entendi. Tente seu alias como alias l.='ls -dC .* --color'onde as Ccolunas mostram.
Terrance
1
Editei a resposta para resolver o problema de cores.
Matei David
Respostas:
10
Tentar:
ssh localhost -t bash -ci l.
Nota:
O alias deve estar no ~/.bashrcservidor remoto, não na sua máquina local.
A -iopção diz bashpara executar um shell interativo. Os aliases são ativados por padrão apenas em shells interativos.
As -topções informam sshpara alocar um pseudo-tty. Sem isso, bashemite uma mensagem de aviso quando iniciado no modo interativo. Isso também permite lscores. Sem ele, você teria que usar --color=always, veja man ls.
Há outra maneira de ativar aliases, sem definir o sinalizador interativo, a saber shopt -s expand_aliases. Então você pode tentar:
.bashrc
é lido apenas se o shell for interativo.alias l.='ls -d .* --color'
as cores aparecerão. Apenas pensei em acrescentar isso. Pelo menos eu estava experimentando isso.source .bashrc
)alias l.='ls -dC .* --color'
onde asC
colunas mostram.Respostas:
Tentar:
Nota:
O alias deve estar no
~/.bashrc
servidor remoto, não na sua máquina local.A
-i
opção dizbash
para executar um shell interativo. Os aliases são ativados por padrão apenas em shells interativos.As
-t
opções informamssh
para alocar um pseudo-tty. Sem isso,bash
emite uma mensagem de aviso quando iniciado no modo interativo. Isso também permitels
cores. Sem ele, você teria que usar--color=always
, vejaman ls
.Há outra maneira de ativar aliases, sem definir o sinalizador interativo, a saber
shopt -s expand_aliases
. Então você pode tentar:Contudo:
Você
.bashrc
pode definir aliases apenas se a origem do shell for interativa. Neste exemplo, o shell não seria interativo naquele momento.Se você tentar definir aliases na mesma linha, consulte isso .
fonte
ssh
ing para mim :)ssh
. Sim,localhost
isso não é problema.ssh ... <cmd>
sai quando<cmd>
terminar. Se você quiser manter a casca por pertols
, tentessh localhost -t 'bash -ci "l.; exec bash"'
.