Con su alias sobre ssh, probablemente no habrá color, donde si cambia su alias, alias l.='ls -d .* --color'aparecerán los colores. Solo pensé que agregaría eso. Al menos estaba experimentando eso.
Terrance
@Terrance Me preguntaba sobre eso ... Todavía no obtengo color (ni columnas) aunque obtengo color (y columnas) como antes después de cambiar el alias (y hacer source .bashrc)
Zanna
1
ah ja! Creo que lo tengo. Pruebe su alias como alias l.='ls -dC .* --color'donde se Cmuestran las columnas.
Terrance
1
Edité la respuesta para abordar el problema del color.
Matei David, el
Respuestas:
10
Tratar:
ssh localhost -t bash -ci l.
Nota:
El alias debe estar en ~/.bashrcel servidor remoto, no en su máquina local.
La -iopción le dice bashque ejecute un shell interactivo. Los alias están habilitados de forma predeterminada solo en shells interactivos.
Las -topciones le dicen sshque asigne un pseudo-tty. Sin esto, bashemite un mensaje de advertencia cuando se inicia en modo interactivo. Esto también permite lscolores. Sin ella, tendrías que usar --color=always, ver man ls.
Hay otra forma de habilitar los alias, sin establecer el indicador interactivo, a saber shopt -s expand_aliases. Entonces podrías probar:
.bashrc
solo se lee si el shell es interactivo.alias l.='ls -d .* --color'
aparecerán los colores. Solo pensé que agregaría eso. Al menos estaba experimentando eso.source .bashrc
)alias l.='ls -dC .* --color'
donde seC
muestran las columnas.Respuestas:
Tratar:
Nota:
El alias debe estar en
~/.bashrc
el servidor remoto, no en su máquina local.La
-i
opción le dicebash
que ejecute un shell interactivo. Los alias están habilitados de forma predeterminada solo en shells interactivos.Las
-t
opciones le dicenssh
que asigne un pseudo-tty. Sin esto,bash
emite un mensaje de advertencia cuando se inicia en modo interactivo. Esto también permitels
colores. Sin ella, tendrías que usar--color=always
, verman ls
.Hay otra forma de habilitar los alias, sin establecer el indicador interactivo, a saber
shopt -s expand_aliases
. Entonces podrías probar:Sin embargo:
Es
.bashrc
posible que solo defina alias si la fuente de shell es interactiva. En este ejemplo, el shell no sería interactivo en ese momento.Si intenta definir alias en la misma línea, vea esto .
fuente
ssh
pensando en mí misma :)ssh
. Sí,localhost
eso no es un problema.ssh ... <cmd>
sale cuando<cmd>
se hace. Si desea mantener el caparazón despuésls
, intentessh localhost -t 'bash -ci "l.; exec bash"'
.