如何修改macOS上的命令提示符

命令提示符是什么?

当我们打开一个终端时首先看到的就是 Bash 命令提示符,格式为:

1
用户名@主机名 ~$

例如:

1
bixiaopeng@bixiaopengtekiMacBook-Pro ~$

查看主机名:

1
2
$ hostname
bixiaopengtekiMacBook-Pro.local

这个提示符太长了,我想修改一下怎么改呢?

修改命令提示符

默认情况下,Bash 命令提示符中最长的就是主机名,我们一起来看一下怎么修改。

修改主机名

把主机名改为 macOS:

1
2
$ sudo scutil --set HostName macOS
Password:(输入密码)

新打开一个终端窗口修改才会生效,效果为:

1
bixiaopeng@macOS ~$

配置提示符

一些必要的说明

Bash 命令提示符是通过环境变量PS1(Prompt String 1) 来设置的,查看现有的设置:

1
2
bixiaopeng@macOS ~$ echo $PS1
\[\033[01;33m\]\u@\h\[\033[01;31m\] \W\$\[\033[00m\]

效果是这样的:

\[\033[01;33m\] 是颜色,去掉配置的颜色,看得会更清晰一些:

1
\u@\h \W\$

翻译为:

1
用户名@主机名 当前工作目录名称$

配置参数的解释:

1
2
3
4
5
6
7
8
\u:用户名
\h:主机名
\w:当前所在工作目录路径
\W:当前工作目录名称,~ 表示主目录
\t:当前时间
\n:换行
\D{%c}:获取本地化的日期和时间
\$:使用 $ 作为提示符,如果 root 过的话,则显示 #

尝试配置自己的提示符

1
2
3
4
5
$ PS1="\u@\h \W\$"
bixiaopeng@macOS ~$

# 给点颜色
bixiaopeng@macOS ~$ PS1="\[\033[01;33m\]\u@\h\[\033[01;31m\] \W\$\[\033[00m\] "

效果如下图所示:

上面的命令都可以看作是效果的预览,如果想让配置真正的生效,还需要 export 一下:

1
2
# 接上述命令
bixiaopeng@macOS ~$ export PS1

或在接在 ~/.bash_profile 中修改配置:

1
export PS1="\[\033[01;33m\]\u@\h\[\033[01;31m\] \W\$\[\033[00m\] "
毕小烦 wechat
「请扫一扫上面的二维码,关注老毕的微信公众号」
「您的赞赏是老毕持续创作的动力」