ユーザーを変更して現在地を維持する方法は?

ユーザーを変更して現在地を維持する方法は?

あるコマンドで別のユーザーに切り替える方法を知りたい(通常私の場合は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

関連情報