예를 들어, 서버에 SSH로 접속한 후 일부 작업을 sudo bash
수행할 때 su <user>
모든 셸을 로컬 터미널로 다시 종료하는 빠른 방법을 원합니다.
들어가다
내가 일을 좀 해야 할 때섬기는 사람~처럼짐.
local > ssh me@server
server:me > sudo bash
server:root > su jim
server:jim > // do stuff as jim
나가
작업이 완료되었지만 쉘이 로그인 상태를 유지하는 것을 원하지 않는 경우.
server:jim > exit
server:root > exit
server:me > exit
local > // after 3 commands
선호하는 탈출구
나는 이것을하고 싶다.
server:jim > exitall // for example
local > // after one command
답변1
사전 대응(소급이 아닌) 솔루션을 사용하려는 경우 exec
우회하려는 중간 단계를 사용하는 것이 좋습니다.
입력(수정):
local > ssh me@server
server:me > exec sudo bash
server:root > exec su jim
server:jim > // do stuff as jim
나가
server:jim > exit
local > // after 1 command
exec
현재 쉘을 나열된 명령 으로 대체합니다. 따라서 exit
jim의 쉘을 종료하면 루트 쉘도 종료되어 쉘이 sudo bash
종료되고 시작한 곳으로 돌아갑니다.
답변2
내가 찾은 가장 빠른 방법은 필요한 만큼 Ctrl+D를 사용하는 것입니다. 이렇게 하면 모든 bash 세션이 종료됩니다.