Utilizo un comando ProxyJump para varias sesiones ssh que uso a diario, y también cambio mucho de usuarios en estas sesiones y tener que escribir exit
3 o 4 veces seguidas no es demasiado divertido.
Estoy al tanto de newline
+ ~
+ .
para terminar una sesión ssh, aún tengo que verificar si termina amigablemente como lo exit
haría, pero ¿cómo sales de todas las sesiones en el shell actual con un solo comando o acceso directo de tal manera que escribir exit
3 o 4 veces? en mi caso se convierte en algo de una sola vez?
~.
simplemente desconecta su cliente SSH (es útil cuando la red ha desaparecido, por ejemplo). Normalmente, el demonio SSH lo reconocerá y señalará su sesiónSIGHUP
, por lo que no es lo mismo que salir del shell normalmente (pero es útil si no puede obtener ninguna respuesta del shell).Respuestas:
Ctrl- DSaldrá de un shell en muchos casos. Es más rápido que escribir
exit
Enter. Todavía no es un solo comando para terminar todo, pero sostener Ctrly golpear Dvarias veces es más fácil y rápido. No estoy seguro de lo valioso que es esto para su caso de uso.Discutido en detalle aquí .
fuente
rm
comando y luego presione CTRL + D si no desea ejecutarlo. No veo este comportamiento en ksh.vi
enlaces de entrada de terminal.Escribir
~.
realmente hace el truco de cerrar todas las conexiones "anidadas" hasta lo más profundo.Lo hace con la salida amigable que desea, siempre y cuando todos sus proyectiles estén configurados para manejar SIGHUP como una muerte elegante. Bash lo hace por defecto. Puede comprobar fácilmente la salida amistosa para su puesta a punto por ejemplo, ver si los
.bash_history
archivos de sus sesiones más profundas quedan debidamente actualizados después de que el~.
, o si se establece su golpe-es no actualizar .bash_history a la salida, entonces podrían establecer unatrap
en el SALIR del evento (o en su~/.bash_logout
) con un comando que escribe algo en alguna parte y luego ver si se ejecutó.Además, no estoy seguro de lo que quieres decir con "salir de todas las sesiones en el shell actual". Cada bash interactivo es solo una sesión, y los comandos que escribe van siempre solo al caparazón más profundo de la cadena ProxyJump. Si se refería a "los trabajos en segundo plano en el shell actual", bash envía SIGHUP a todos sus trabajos al recibir SIGHUP por el demonio ssh en el
~.
, por lo tanto, dicha salida debería ser completamente amigable si los trabajos en ejecución reaccionan correctamente a un SIGHUP.fuente