所以我认为很多人都遇到过这个问题,你通过 SSH 进入一台机器,cd
进入你需要的任何路径,然后意识到你实际上想要成为 root 而不是你自己的用户。然而,当你 时sudo su -
,你以 root 身份登录并进入 的root
主目录。
有没有办法在运行之前复制 PWD sudo su -
,然后在运行之后通过 cd 转到它而无需再次输入? 类似的东西cd -
可供所有用户使用。
答案1
一些东西。
首先,您几乎永远不应该使用 sudo su。没有理由这样做,但让我们假设您处于极少数情况下需要使用 sudo su。
其次,sudo su
(无-
)将使您停留在当前目录中并带入您当前的 shell 设置(即 vars 等)。因此,您的真正答案是使用sudo su
不带 的-
。现在让我们假装您出于某种原因想要将它与 一起使用-
(注意:这种用法非常罕见)。结果是您将以 root 身份登录,而不仅仅是以 root 身份运行。
第三,假设你想在输入后返回到你的目录sudo su -
。最好的办法是复制并粘贴,或者导航回目录。但是,如果你坚持:
sudo su - -c "cd `pwd`; bash"
不过我想强调的是,您几乎肯定错误地使用了 sudo 和 su。sudo(而不是 root 帐户)的全部意义在于,您可以以提升的权限以自己的身份运行程序。您绕过了这一点。
我建议阅读:
答案2
使用sudo -s
,它将以 root 身份打开一个新的 shell,但仍保留在同一目录中。请注意,来自常规用户的各种其他环境变量也将被带走。