导出 PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[ \033[m\]\$ " 在 MacOS 的 bash 终端中意味着什么?

dig*_*y99 7 bash terminal

我正在尝试修改 bash 终端的外观,并且偶然发现了这个网站: http: //osxdaily.com/2013/02/05/improve-terminal-appearance-mac-os-x/。然而,我想在实现所有更改之前首先尝试理解代码,而我目前在理解这部分方面遇到困难。因此,如果有人能够向我彻底解释它,那就太好了。

dig*_*y99 8

export用于设置操作系统中的环境变量。该变量将可供当前 Bash 进程创建的所有子进程使用。

PS1是每个命令之前显示的主要提示,因此它是大多数人自定义的提示。阅读更多:https ://wiki.archlinux.org/index.php/Bash/Prompt_customization#Prompts

语句: \[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$
指示提示符的外观,即

在此输入图像描述

因为,在 Bash 中,

  1. 非打印转义序列必须包含在 [\033[ 和 ] 中。对于颜色转义序列,它们后面还应该跟一个小写的 m。

有关 ANSI 转义码的更多信息:https://gist.github.com/fnky/458719343aabd01cfb17a3a4f7296797

  1. 提示变量 PS0、PS1、PS2 和 PS4 中可能出现几个特殊字符,可以在此处看到: https ://www.gnu.org/software/bash/manual/html_node/Controlling-the-Prompt.html

因此:

  • [\033[36m] = 青色
  • \u = 当前用户的用户名
  • [\033[m] = 重置所有样式和颜色
  • @ = '@' 字符
  • [\033[32m] = 绿色
  • \h = 主机名
  • := ':' 字符
  • [\033[33;1m] = 黄色(粗体)
  • \w = 当前工作目录,$HOME 缩写为波形符(~)
  • $ = 如果用户的用户 ID 为 0,则显示“#”,否则显示“$”字符