![使用 sudo -s 但显示当前文件夹名称](https://linux22.com/image/1437571/%E4%BD%BF%E7%94%A8%20sudo%20-s%20%E4%BD%86%E6%98%BE%E7%A4%BA%E5%BD%93%E5%89%8D%E6%96%87%E4%BB%B6%E5%A4%B9%E5%90%8D%E7%A7%B0.png)
有没有办法使用sudo -s
但在提示中保留当前文件夹名称?
我想在使用时看到jw:documents nescalante$
而不是。bash-3.2#
sudo -s
谢谢!
答案1
当你使用时,sudo -s
你将获得类似于的行为sudo /bin/bash
。
变量用户设置为root
,不再设置为nescalante
。
您可以将其放入您的.bashrc
或最坏的情况下,在您的.bash_aliases
IF THEN 块中,以便在您是 root 用户时设置您的提示。
if [ "$USER" = "root" ]
then
export PS1="\[\e[36;1m\]\u@\[\e[32;1m\]\h \[\e[34;1m\]\w> \[\e[0m\]"
fi
如果你不想知道你在这个 shell 中是 root 身份,你可以写
export PS1="\[\e[36;1m\]HowIWantToBe@\[\e[32;1m\]\h \[\e[34;1m\]\w> \[\e[0m\]"
但我强烈建议留下你是 root 的记录.root
可以用一个命令行删除一个系统,其方式多到你无法想象:)。
笔记:
- 如果你使用壳不同于
bash
您必须在不同于的文件中用不同的语法编写.bashrc
。 - 您可以在 shell 启动文件(例如)中搜索您的用户当前正在使用的提示 PS1 值,
.bashrc
并根据需要复制/修改它。 - 如果你想更好地了解
sudo
命令su
的功能,请参阅手册页或快速浏览一下,例如这里。