以 root 身份登录后,Linux 用户名@服务器消失

以 root 身份登录后,Linux 用户名@服务器消失

在我的 Linux 服务器上,我以 root 用户身份登录来访问一些文件:苏根...检查完文件后我以主用户身份重新登录su 用户名。现在我的终端窗口显示服务器〜:代替用户名@服务器 ~:在命令行的左侧。有什么方法可以让它恢复正常吗?

答案1

执行几个exit命令。您su root在 root 权限下启动了一个子 shell,然后su user启动了另一个子 shell。输入exit将结束这些子 shell,并带您回到起始位置 — 深度为一层。

答案2

只需更改提示符即可。您可以使用以下命令:

导出 PS1="\u@\h \w: "

我个人更喜欢以下作为我的提示,但这只是我的看法:

导出 PS1="[\u@\h \w]\$ "

您可以通过将语句添加到相关的 bashrc 文件来防止提示更改。另请参阅Bash Shell PS1:10 个示例让你的 Linux 提示符像安吉丽娜朱莉一样了解有关 PS1 的更多信息。

答案3

su通过生成新的(子)shell 来切换用户。因此,当您登录时,您启动了一个 shell。对于第一个suroot 用户,您以 root 身份启动了一个子 shell。对于您的用户,下一个su启动了另一个子 shell — 请注意,此时您有三个 shell 在运行。因此,您不必su从 rootshell 切换到您的用户,而是exit返回您的登录 shell,这将解决您的问题。

如果您已经pstree安装,pstree -h将会以图形方式显示正在发生的事情。

答案4

如果这是一个 bash shell,请尝试:

source ~/.bashrc

如果这不起作用,请运行echo $PS1并查看有什么变化。

相关内容