Users

如何更改使用者並保持目前位置?

  • October 17, 2019

我想知道如何在一個命令中切換到另一個使用者(在我的情況下通常是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# 

根據手冊,--l都是相同的選項。

-l模擬完整登錄。除 HOME、SHELL、PATH、TERM 和 USER 之外的環境將被丟棄。HOME 和 SHELL 修改如上。USER 設置為目標登錄。PATH 設置為“/bin:/usr/bin”。TERM 是從您目前的環境中導入的。呼叫的 shell 是目標登錄的,su 會將目錄更改為目標登錄的主目錄。

-(無字母)同-l

通過不指定-lor -,目錄不會改變。

最簡單的解決方案:

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

甚至(感謝@Christopher):

user1@m:~/loc1/loc2$ su

引用自:https://unix.stackexchange.com/questions/547279