Mac 边边角角

Mac 边边角角

💡 原文中文,约800字,阅读约需2分钟。
📝

内容提要

在 Mac 上自定义终端路径提示:先运行 echo $SHELL 确认 shell 类型。若为 zsh,修改 /etc/zshrc 中的 PS1,如 PS1="%n@%m %1~ %# ",可用 %T、%n、%~ 等转义变量;若为 bash,修改 /etc/bashrc 中的 PS1,如 PS1='\u@\h \w \$',可用 \u、\h、\w 等变量。最后运行 source 命令或打开新窗口生效。

🔎

延伸解读

先确认 Shell 类型再动手

修改提示符前,务必先运行 echo $SHELL 确认当前使用的 shell。zsh 和 bash 的配置文件与转义变量完全不同,若混淆可能导致配置无效甚至报错。文章分别针对 zsh 和 bash 给出了具体路径,读者应根据实际输出选择对应方案,避免盲目照搬。

zsh 与 bash 的转义变量差异

zsh 使用 % 开头的转义变量,如 %n 表示用户名、%m 表示主机名、%1~ 表示当前目录的相对路径;bash 则使用反斜杠转义,如 \u、\h、\w。两者语法不通用,例如 zsh 的 %~ 在某些版本可能造成乱码,而 bash 的 \w 会用 ~ 代替宿主目录。自定义时需按对应 shell 的规则书写。

修改后如何生效

无论修改 /etc/zshrc 还是 /etc/bashrc,都需要运行 source 命令重新加载配置文件,或者直接打开一个新的终端窗口。如果修改后没有变化,可以检查是否编辑了正确的文件,以及 PS1 赋值行是否被其他配置覆盖。注意 /etc 下的文件是全局配置,修改前建议备份。

❓

Q&A

如何在Mac上查看当前使用的是哪种shell?

运行命令 echo $SHELL 即可查看当前使用的shell类型。

zsh中如何自定义终端路径提示?

修改 /etc/zshrc 文件中的 PS1 变量,例如设置为 PS1="%n@%m %1~ %# ",然后运行 source /etc/zshrc 或打开新窗口生效。

zsh的PS1中有哪些可用的转义变量?

zsh中可用的转义变量包括:%T(系统时间时:分)、%*(时:分:秒)、%D(年-月-日)、%n(用户名)、%B-%b(粗体)、%U-%u(下划线)、%d(当前工作目录)、%~(相对于家目录的路径)、%M(主机名)、%m(截断的主机名)、%l(当前tty)。

bash中如何修改终端提示符?

修改 /etc/bashrc 文件中的 PS1 变量,例如设置为 PS1='\u@\h \w \$',然后运行 source /etc/bashrc 或打开新窗口生效。

bash的PS1支持哪些转义字符?

bash中支持的转义字符包括:\H(完整主机名)、\h(主机名第一个名字)、\u(用户名)、\w(完整工作目录,家目录显示为~)、\W(工作目录最后一个目录)、\$(提示符,#表示root,$表示普通用户)、\#(命令编号)、\t(24小时时间HH:MM:SS)、\T(12小时时间)、\A(24小时时间HH:MM)、\d(日期,如Tue May 26)、\v(bash版本)。

修改PS1后如何使设置立即生效?

可以运行 source 命令(如 source /etc/zshrc 或 source /etc/bashrc)或打开新的终端窗口来使修改生效。

🏷️

标签

➡️

继续阅读