macos - macOS 中的管理员用户无法识别 \w 或 \u
问题描述
我尝试将终端中的提示更改为仅使用当前工作目录并删除任何其他文本,因此我创建了一个名为的文件.bash_profile
并添加了此条目的 export PS1='\w $'
来源,现在我只在终端提示中看到了这\w $
不是什么我希望看到所有!有趣的是,当我在终端中 sudo 登录时,它实际上是在打印当前工作目录,例如/Users/<my user> $
.
我也通过创建不同的文件进行了同样的尝试,.profile
或者.bashrc
似乎没有任何效果。请指教。
解决方案
根据上面显示的错误,可以断定正在使用的 shell 是'zsh'而不是'bash'
在 zsh 中,当前工作目录由 '%/' 表示
如何解决问题?
在主目录中创建一个名为.zshrc的文件
将语句export PS1='%/ $'添加到.zshrc
打开一个新终端以测试提示是否显示当前工作目录。
可以尝试的其他变体
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 $
推荐阅读
- java - 使用 Java 流对集合进行分组
- ruby - 升级 jruby 和 rubymine 版本后无法安装 bundler/gems (SSLError)
- swift - 在可编辑的 NSTextView 中链接(如 Apple 的注释)
- postgresql - 如何在 sqlalchemy 的 ORM 中使用 postgresql 的 jsonb_each 函数
- c# - 对象跟随手指仅当它在屏幕上滑动时
- javascript - Vue 和 Vuetify 中没有初始视图模型的反应式表单
- google-bigquery - 是否可以从 bigquery 中提取表创建 DDL 语句?
- javascript - 为什么这个 javascript 在每次点击时都会变得越来越慢?
- icons - Font Awesome 5:可以更改图标的背景颜色,使其不会在边框外流血?
- python - Python - 比较数字。我正在将 1 与 1 进行比较,但它失败了 - 请参阅代码 - 谁能告诉我问题出在哪里?