사용자를 변경하고 현재 위치를 유지하는 방법은 무엇입니까?

사용자를 변경하고 현재 위치를 유지하는 방법은 무엇입니까?

하나의 명령으로 다른 사용자로 전환하는 방법을 알고 싶습니다(보통 내 경우에는 root)그리고 여전히 같은 자세로 있어변경 전 내가 있었던 곳.

저는 보통 이렇게 하는데, 불행하게도 많은 단계를 거쳐야 합니다.

user1@m:~/loc1/loc2$ pwd
/home/user1/loc1/loc2

user1@m:~/loc1/loc2$ su -
Password: 

root@m:~# cd /home/user1/loc1/loc2

root@m:/home/user1/loc1/loc2# 

나는 비슷한 것을 찾고 있습니다 :

user1@m:~/loc1/loc2$ su - && ...

또는 이와 유사한 결과를 얻을 수 있습니다.

root@m:/home/user1/loc1/loc2# 

답변1

설명서에 따르면 --l둘 다 동일한 옵션입니다.

-l전체 로그인을 시뮬레이션합니다. HOME, SHELL, PATH, TERM, USER 이외의 환경은 삭제됩니다. HOME과 SHELL은 위와 같이 수정됩니다. USER는 대상 로그인 이름으로 설정됩니다. PATH는 "/bin:/usr/bin"으로 설정됩니다. TERM은 현재 환경에서 가져옵니다. 호출되는 쉘은 대상 로그인의 쉘이며 su는 디렉토리를 대상 로그인의 홈 디렉토리로 변경합니다.

-(문자 없음)은 과 동일합니다 -l.

-l또는 를 지정하지 않으면 -디렉터리가 변경되지 않습니다.

답변2

가장 간단한 솔루션:

user1@m:~/loc1/loc2$ su root

심지어 (@Christopher에게 감사드립니다):

user1@m:~/loc1/loc2$ su

관련 정보