特殊字符在 bashrc 中不起作用

特殊字符在 bashrc 中不起作用

我一直在寻找有关如何自定义终端的教程。当我尝试将 PS1 定制为类似的东西时

PS1="\u@\h \W -> "
export PS1;

当我在终端中获取文件后,而不是获取用户名@主机目录我明白了

\u@\h \W -> 

到目前为止,我的 .bash_profile 和 .bashrc 文件中的内容是:

.bash_配置文件

if [ -s ~/.bashrc ]; then
    source ~/.bashrc;
fi

.bashrc

PS1="\u@\h \W -> "
export PS1;

任何帮助将不胜感激,谢谢!

答案1

你得到什么输出echo $0

输出是-zsh

这似乎意味着您正在运行 Zsh,而不是 Bash。 Zsh不支持Bash的即时扩展,但有自己的系统。看:http://zsh.sourceforge.net/Doc/Release/Prompt-Expansion.html

尝试将这样的内容放入.zshrc

PS1='%n@%M %~ -> '

您可以通过查看/etc/passwd或运行getent passwd $USER(应该在 Linux 上工作)来验证您拥有哪个登录 shell。最后一个字段是 shell。

如果您想运行 Bash 作为登录 shell,chsh -s /bin/bash应该努力改变这一点。

相关内容