首页 > 解决方案 > macOS 中的管理员用户无法识别 \w 或 \u

问题描述

我尝试将终端中的提示更改为仅使用当前工作目录并删除任何其他文本,因此我创建了一个名为的文件.bash_profile并添加了此条目的 export PS1='\w $'来源,现在我只在终端提示中看到了这\w $不是什么我希望看到所有!有趣的是,当我在终端中 sudo 登录时,它实际上是在打印当前工作目录,例如/Users/<my user> $.

我也通过创建不同的文件进行了同样的尝试,.profile或者.bashrc似乎没有任何效果。请指教。

标签: macoszshuser-permissions

解决方案


根据上面显示的错误,可以断定正在使用的 shell 是'zsh'而不是'bash'

在 zsh 中,当前工作目录由 '%/' 表示

如何解决问题?

  1. 在主目录中创建一个名为.zshrc的文件

  2. 将语句export PS1='%/ $'添加到.zshrc

  3. 打开一个新终端以测试提示是否显示当前工作目录。

可以尝试的其他变体

export PS1='%1/ $'

将仅显示当前目录的名称(IE,省略完整路径)

export PS1='%~/ $'

将目录路径中的 '/Users/username' 替换为 ~

一个工作示例:

/Users/macuser1/Desktop/stack-overflow $ pwd
/Users/macuser1/Desktop/stack-overflow   


/Users/macuser1/Desktop/stack-overflow $ export PS1='%/ $'
/Users/macuser1/Desktop/stack-overflow $
/Users/macuser1/Desktop/stack-overflow $


/Users/macuser1/Desktop/stack-overflow $ $export PS1='%~/ $'
~/Desktop/stack-overflow/ $
~/Desktop/stack-overflow/ $


~/Desktop/stack-overflow/ $ export PS1='%1/ $ '
stack-overflow $
stack-overflow $ 

推荐阅读