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 ~/.bashrc
e ssh user@server
e 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"