Defina o prompt bash personalizado por meio de ssh ou putty

Defina o prompt bash personalizado por meio de ssh ou putty

Ao fazer login nos servidores, gostaria que o tempo fosse exibido no prompt do bash, para que, quando eu verificar as coisas anteriores que fiz, possa ver a que horas o fiz. Acho que é um recurso particularmente útil ao tentar depurar coisas.
Pode ser assim:

[root@server 11:46:02 ~]# ls
file1 file2
[root@server 11:47:50 ~]# whoami
root

Descobri que posso fazer isso com ssh:

ssh root@server -t "export PS1='[\u@\h $(date +%H:%M:%S) \W]\$ '; exec bash"

ssh root@server -t "export PS1='[\u@\h \t \W]\$ '; exec bash"

Mas obviamente a data não será atualizada cada vez que eu digitar algo novo.
Não descobri como fazer isso no PuTTY - vejo que há uma configuração em Conexões -> Dados para enviar variáveis ​​de ambiente para o servidor, mas isso não funciona.

Observe que não quero alterar nada no lado do servidor (sem alteração de sshd, sem bashrc ou alteração de perfil) :)

Responder1

Não posso ajudá-lo com o putty, mas observe que o bash possui um código para o horário atual, para que você possa substituí-lo $(date +%H:%M:%S)por \t.

Responder2

Mesmo que eu não tenha encontrado a resposta para o PuTTY, encontrei ummelhoraralternativa:
1. instalarCygwin(e desfrute de melhor produtividade)
2. adicione o atalho Cygwin ao meu PATH para que eu possa fazer WIN + R e digitar cyg para abrir o terminal
3. adicione esta função no Cygwin ~/.bashrc :

ssh () { /usr/bin/ssh "$@" -t "export PS1='[\t \u@\h \W]\$ '; exec bash"; }

Reabra o Cygwin ou source ~/.bashrce ssh user@servere prompt é como eu quero *:
[12:03:08 user@server ~]$

*Funciona em CentOS ou AWS Linux. Não funciona no Ubuntu porque substitui $ PS1.

Isenção de responsabilidade: travado no Windows, não é possível instalar o Ubuntu nem inicialização dupla. VM não é uma opção. /Chorar

Responder3

Variante não tão intrusiva para o Ubuntu (apenas ativa o prompt de cores no .bashrc remoto):

ssh user@server -t "sed -i 's/#force_color_prompt=yes/force_color_prompt=yes/g' .bashrc;exec bash"

informação relacionada