Rus*_*ing 17
我同意 sudo 几乎总是一个更好的答案,但要回答问题的另一部分...
“su -”中的“-”表示您要模拟超级用户登录,而不是仅以超级用户权限运行。
如果您使用普通的 'su' 而不是 'su -',您将停留在同一目录中;但是您也将在相同的环境中运行,因此可能需要修改您的路径以访问某些管理命令。
fre*_*eit 11
如果您su不使用-,它应该将您保留在当前目录中。 -,-l或--login
告诉 su:
提供与用户直接登录时所期望的环境类似的环境。
或者只是使用 sudo,它还有很多其他优点。或 ssh 密钥。
小智 6
如果你真的想使用su,有一种方法可以留在同一个目录中。
su - <user> -c "cd `pwd`; bash"
Run Code Online (Sandbox Code Playgroud)
这里发生了什么:
su - <user> = 登录为 -c 这意味着“在 new 的 shell 中运行命令-c "cd `pwd`" 我们给出的命令是切换到当前目录 ( pwd) - 但是因为我们使用了反引号,所以pwd在我们运行su命令之前会评估该命令,以便我们实际切换到我们现在作为旧用户所在的目录。这里唯一的问题是新的 shell 在运行命令后立即退出,所以我们添加:-c "cd `pwd`; bash" 这意味着“bash在运行cd命令后运行(新 shell),并且 bash shell 在我们注销之前不会退出。| 归档时间: |
|
| 查看次数: |
22494 次 |
| 最近记录: |