Configure o prompt bash personalizado por meio de ssh ou putty

1

Ao fazer login nos servidores, eu gostaria de ter a hora exibida no prompt do bash, então quando eu verificar as coisas anteriores que fiz, posso ver a que horas fiz isso. Eu acho que é um recurso particularmente útil ao tentar depurar as coisas.
Pode ser assim:

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

Descobri que eu 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 toda vez que eu digitar algo novo.
Eu não percebi como fazê-lo de PuTTY em tudo - vejo que há uma configuração no Connections - > 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 sshd, sem alteração de perfil ou bashrc):)

    
por w00t 29.09.2015 / 12:58

2 respostas

3

Eu não posso ajudar você com o putty, mas observe que o bash tem um código para o horário atual, então você pode substituir $(date +%H:%M:%S) por \t .

    
por 29.09.2015 / 14:59
0

Embora eu não tenha realmente encontrado a resposta para o PuTTY, eu encontrei uma alternativa melhor :
1. instale Cygwin (e aproveite melhor a produtividade)
2. adicionar atalho Cygwin ao meu PATH para que eu possa fazer WIN + R e digite 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 o prompt é como eu quero *: [12:03:08 user@server ~]$

* Funciona no CentOS ou no AWS Linux. Não está funcionando no Ubuntu porque ele substitui $ PS1.

Aviso: preso no Windows, não é possível instalar o Ubuntu nem o dual-boot. VM não é uma opção. / Cry

    
por 01.10.2015 / 13:32