无论我输入哪个目录,终端总是显示根目录,即“Nidas-MBP”
Nidas-MBP% cd Projects
Nidas-MBP% ls
09-Selector-Exercise-Starter.zip My Little Form
09_Selector_Exercise_Starter Prefix Free File
Blog Recursion Practice
Callbacks Themes
Callbacks-Exercise Todo-Vanilla
Copywriting css3-contact-form.zip
Freelancer Theme webpack-deepdive
Frog Chase
Nidas-MBP% cd webpack-deepdive
Nidas-MBP% ls
es6-todomvc
Nidas-MBP%
我尝试将以下命令添加到 ~/.bashrc 文件和 ~/.profile 文件的末尾,但终端仍然保持不变。
PS1='[\u \W$] '
当我运行时echo "$PS1"
它说
%m%#
PS1=[ \W]\$
PS1='[ \W]$ '
我发现里面有两行~/.bash_profile
,所以我将它们都替换为PS1='[\u \W$] '
和 键入source ~/.bash_profile
。作为回应,我的终端开始显示[\u \W$]
而不是Nidas-MBP
.
我不知道现在应该做什么才能让它恢复到原来的样子。
答案1
根据 JdeBP 的观察,这zsh
不是完全重新设计的bash
。
bash
和zsh
是两个不同的 shell,并且在启动它们时使用两组不同的文件。bash
使用.bash_profile
、.bashrc
、 和.profile
。zsh
使用.zprofile
、.zshrc
、 和其他。
zsh
还使用不同的语法来指示提示。echo $PROMPT
会告诉您提示的当前设置。例如,要在提示符下显示当前目录,请将其添加到$ZDOTDIR/.zshrc
(如果ZDOTDIR
未设置,zsh
将使用HOME
):
PROMPT='%~> '
来源
然后source ~/.zshrc
或者重新启动终端。
答案2
PS1
显然你设置之后肯定有一些东西发生了变化。
找到你可以的地方
在
grep
您的主目录和/etc
.grep PS1 -r /etc $HOME
set -x
设置后使用PS1
即可查看哪里发生了变化。- 用于
strace
找出哪个文件包含该值。
答案3
我不知道 bash 和 zsh 之间的命令有区别。显然,我应该打字PS1='%m %1d$ '
。所以我在~/.zshrc
文件中做了这个,现在它可以工作了。
https://superuser.com/questions/1108413/zsh-prompt-with-current-working-directory