Al iniciar sesión en los servidores, me gustaría que se muestre la hora en mi indicador de bash para que cuando verifique las cosas anteriores que hice, pueda ver a qué hora lo hice. Creo que es una característica particularmente útil cuando se intenta depurar cosas.
Puede verse así:
[root@server 11:46:02 ~]# ls
file1 file2
[root@server 11:47:50 ~]# whoami
root
Descubrí que puedo hacer esto con 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"
Pero obviamente la fecha no se actualizará cada vez que escriba algo nuevo.
No he descubierto cómo hacerlo desde PuTTY en absoluto; veo que hay una configuración en Conexiones -> Datos para enviar variables de entorno al servidor, pero eso no funciona.
Tenga en cuenta que no quiero cambiar nada en el lado del servidor (ni cambios de sshd, ni de bashrc ni de perfil) :)
Respuesta1
No puedo ayudarte con PuTTY, pero ten en cuenta que bash tiene un código para el momento actual que puedes reemplazar $(date +%H:%M:%S)
por \t
.
Respuesta2
Aunque en realidad no encontré la respuesta para PuTTY, encontré unamejoralternativa:
1. instalarCygwin(y disfrutar de una mejor productividad)
2. agregue el acceso directo de Cygwin a mi RUTA para poder hacer WIN+R y escribir cyg para abrir la terminal
3. agregue esta función en Cygwin ~/.bashrc:
ssh () { /usr/bin/ssh "$@" -t "export PS1='[\t \u@\h \W]\$ '; exec bash"; }
Vuelva a abrir Cygwin o source ~/.bashrc
y ssh user@server
el mensaje es como lo quiero *:
[12:03:08 user@server ~]$
*Funciona en CentOS o AWS Linux. No funciona en Ubuntu porque anula $PS1.
Descargo de responsabilidad: bloqueado en Windows, no se puede instalar Ubuntu ni arranque dual. VM no es una opción. /Llorar
Respuesta3
Variante no tan intrusiva para Ubuntu (solo habilita la indicación de color en .bashrc remoto):
ssh user@server -t "sed -i 's/#force_color_prompt=yes/force_color_prompt=yes/g' .bashrc;exec bash"