Questão Definir o prompt bash personalizado por meio de ssh ou putty


Ao fazer o 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

Eu descobri que eu meio que posso fazer isso com ssh:

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


1


origem


Você não precisa mudar algo do lado do servidor? Mas que tal adicionar um simples roteiro? Eu tentei muito tempo com este tópico e também não encontrei nenhuma solução sem configurar o sshd. - h0ch5tr4355
Minha razão para não querer mudar nada do lado do servidor ou adicionar scripts é gerenciar um grande grupo de servidores e seria muito inconveniente fazer isso. Além disso, às vezes eu me conecto a servidores que não são 'de minha propriedade' e deixar scripts para trás não é legal. BTW com o que você tentou? Putty ou ssh? - w00t


Respostas:


Eu não posso te ajudar com putty, mas note que o bash tem um código para a hora atual, então você pode substituir $(date +%H:%M:%S) de \t.


3



Heey isso é ótimo! Obrigado pela sugestão, funciona. - w00t


Mesmo que eu não tenha realmente encontrado a resposta para o PuTTY, eu encontrei um Melhor alternativa:
1. instalar Cygwin (e aproveite melhor produtividade)
2. adicione o 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 pronto é como eu quero *:
[12:03:08 user@server ~]$ 

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

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


0