如何自定义终端提示

自定义终端 bash 提示在 Mac OS X 中

无论您是偶尔还是经常使用终端,您可能会发现除了配色方案和透明度设置之外,更改它的外观是合适的。如何更改实际的命令行提示符?这非常简单,并且可以成为进一步自定义 Mac 外观的有趣方式。

更改终端提示符的外观并不太复杂,但它涉及命令行的一些相当小的用法,鉴于您想要自定义 bash 提示符的外观,我们假设您’您至少对终端有点熟悉。是的,这适用于所有版本的 OS X,因为每台 Mac 上的每个版本都默认使用 bash 作为命令提示符。好的,让我们开始吧。

Mac OS X 中的默认命令行提示符类似于:

ComputerName:CurrentDirectory User$

终端启动后看起来像这样:

MacBook:~/Desktop Admin$

还不错,但有点无聊,而且不是最好的,对吧?不过,更改起来非常容易,而且您可以真正自定义 bash 终端提示符,使其看起来几乎像您想要的任何东西。

我们假设您使用默认的 bash shell,所以如果您安装了 fink,您将编辑文件 .bashrc、.bash_profile 或 .profile。

因此,要开始自定义 bash 提示符,请在当前的终端提示符下键入以下内容以将适当的配置文件加载到 nano 文本编辑器中:

nano.bashrc

是的,您可以根据您的具体情况将其更改为 .bash_profile 或 .profile:

nano .bash_profile

你可能会看到一个普通文件,所以在终端的一行中输入以下内容开始:

导出 PS1=" "

您的 bash 提示自定义发生在这些引号之间。

在 export PS1=” “ 的引号之间,您可以添加以下行来自定义您的终端提示:

  • d – 当前日期
  • – 当前时间
  • h – 主机名
  • # – 命令编号
  • u – 用户名
  • W – 当前工作目录(即:Desktop/)
  • w – 带完整路径的当前工作目录(即:/Users/Admin/Desktop/)

(请注意,如果您只想一次性使用自定义 bash 提示符或在 bash 配置文件中设置更改之前测试更改的外观,您可以简单地使用导出命令,更改将立即生效导出命令,但在该终端会话结束时将被放弃。)

所以,让我们举几个例子。也许您希望终端提示显示用户,后跟主机名,再后跟目录,那么适当的 .bashrc 条目将是:

导出 PS1="u@hw $ "

在实际的 bash 提示符下呈现时如下所示:

Admin@MacBook~Desktop/$

很酷吧?您还可以将提示本身更改为任何内容,它不必是 $ 符号,只需将其替换为您想要使用的任何其他内容即可,例如:

导出 PS1="u@hw: "

与上面相同,但是用 : 而不是 $

Admin@MacBook~Desktop/: "

所以,试一试,看看你喜欢什么。我个人最喜欢的是:

export PS1="W@h[u]$"

这呈现当前活动目录 (PWD)、计算机的主机名和当前用户的用户名,如下所示:

/System @ MacBookPro [保罗] $

使用现代版本的 OS X,您甚至可以在提示中包含表情符号将其拖到您希望显示的位置,例如:

export PS1="h:W (DRAG EMOJI HERE) $ "

那将显示为:

主机名:桌面(表情符号)$

如下图所示:

Mac OS X 中的自定义终端提示

当您对提示的外观感到满意时,按 Control+o 将 .bash_profile 文件编辑保存在 nano 中,然后您可以按 Control+x 退出 nano 程序

如果你真的想,你也可以只使用像 TextWrangler 或 TextEdit 这样的标准文本编辑器来编辑你的 .profile,但是如果你要改变你的终端提示,你应该学习如何从命令行修改文件也。

如果您希望更改内容以使其看起来更图形化,还有一个简单的操作方法旨在让您的终端提示包含表情符号字符(是的,人们用于短信的相同表情符号图标),您可以 < a href="https://ipressx.com/add-emoji-command-line-bash-prompt/">如果您有兴趣,请阅读此处。

终端 更改终端的外观非常值得,因为您可以对标准终端窗口的呈现方式添加大量更改和自定义。与自定义命令提示符一起添加,无论如何在您的 Mac 上拥有一个无聊的终端的日子将一去不复返了。这可能是显而易见的,但是是的,这些提示自定义可以在 OS X 之外以及 Unix 和 Linux 中使用。

您想分享一个很酷的提示吗?在评论中发表您的意见,尝试包括导出命令以及提示将呈现的内容,以便其他人更容易确定他们是否想尝试。