Shell-Script

我的 MacOSX 終端不顯示目前目錄

  • August 16, 2018

無論我進入哪個目錄,終端總是向我顯示“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.

我不知道我現在應該怎麼做才能讓它恢復到以前的樣子。

根據 JdeBP 的觀察完全重做,這zsh不是bash.

bashandzsh是兩個不同的 shell,當你啟動它們時使用兩組不同的文件。bash使用.bash_profile,.bashrc.profile. zsh使用.zprofile,.zshrc和其他。

zsh還使用不同的語法來指示提示。echo $PROMPT將告訴您提示的目前設置。例如,要在提示符處顯示您的目前目錄,請將其添加到$ZDOTDIR/.zshrc(如果ZDOTDIR未設置,zsh將使用HOME):

PROMPT='%~> '

來源

然後要麼source ~/.zshrc或重新啟動終端。

PS1顯然,在你設置之後肯定會有一些變化。

找到你能找到的地方

  • grep您的主目錄和/etc.
grep PS1 -r /etc $HOME
  • set -x設置後使用PS1以查看更改的位置。
  • 用於strace找出哪個文件包含該值。

引用自:https://unix.stackexchange.com/questions/463018