Por exemplo, quando eu SSH em um servidor e, em sudo bash
seguida, su <user>
para fazer algum trabalho, quero uma maneira rápida de sair de todos os shells de volta ao meu terminal local.
entrar
Quando tenho que fazer algum trabalho em um servidor como jim .
local > ssh me@server
server:me > sudo bash
server:root > su jim
server:jim > // do stuff as jim
saindo
Quando meu trabalho estiver completo, mas não quero deixar os shells logados.
server:jim > exit
server:root > exit
server:me > exit
local > // after 3 commands
saída preferida
Aqui está como eu gostaria de fazer isso.
server:jim > exitall // for example
local > // after one command
Se você estiver aberto a uma solução proativa (vs retroativa), considere usar
exec
para as etapas intermediárias que deseja ignorar na saída:entrando (modificado):
saindo
Usando
exec
substitui seu shell atual pelo comando listado; como resultado, quando vocêexit
sai do shell do jim, o shell raiz sai, o que faz com que osudo bash
shell saia, deixando você de volta ao ponto de partida.Descobri que a maneira mais rápida é usar Ctrl + D quantas vezes forem necessárias, o que encerrará cada sessão do bash