macOS 中的管理员用户无法识别 \w 或 \u

Posted

技术标签:

【中文标题】macOS 中的管理员用户无法识别 \\w 或 \\u【英文标题】:\w or \u is not recognised for admin user in macOSmacOS 中的管理员用户无法识别 \w 或 \u 【发布时间】:2020-01-24 14:53:12 【问题描述】:

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

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

【问题讨论】:

您可能正在使用zsh,它使用不同的提示符转义。 运行 echo $0 以检查您正在使用哪个 shell。如果您想将其更改为 Bash 运行:chsh -s /bin/bash 你们是对的!我正在使用 zsh,你知道我应该使用哪个提示符转义吗? @JohnXavier 试试PS1='%/ $'PS1='%d $',或者您可能希望PS1='%2C $' 只显示路径的最后两部分。您可能还想将其添加到 ~/.zprofile 而不是 ~/.bash_profile。有关 zsh 提示序列,请参阅 here。 AFAIK ansi 颜色需要用美元转义,例如以下颜色在路径的最后两部分为浅灰色:PS1=$'\e[90m%2C\e[0m $' @请不要将用于 zsh 的设置放入 .bash_profile,或从 .zprofile 获取。 .bash_profile 用于 bash 设置,.zprofile 用于 zsh 设置。如果你只使用 zsh,你不应该对 .bash_profile 做任何事情。 【参考方案1】:

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

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

如何解决问题?

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

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

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

可以尝试的其他变体

export PS1='%1/ $'

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

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 $ 

【讨论】:

以上是关于macOS 中的管理员用户无法识别 \w 或 \u的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 wifi 从其他 Mac 访问 macOS 服务器

Win7系统电脑无法识别U盘启动盘怎么办?系统天地

台式电脑无法复制和移动文件到任何U盘或硬盘,提示需要管理员权限,而实际上已经是超级用户登录了。

vmware不识别无线网卡

笔记本电脑无法开机显示无法加载用户配置文件怎么解决呢

SwiftUI List 如何识别在 macOS 上选择了哪些项目