什么会导出PS1 =“ \ [\ 033 [36m \] \ u \ [\ 033 [m \] @ \ [\ 033 [32m \] \ h:\ [\ 033 [33; 1m \] \ w \ [ \ 033 [m \] \ $“是指MacOS的bash终端?

时间:2019-07-05 02:09:00

标签: bash terminal

我正在尝试修改bash终端的外观,但我偶然发现了以下站点:http://osxdaily.com/2013/02/05/improve-terminal-appearance-mac-os-x/。但是,我想先尝试理解代码,然后再执行所有更改,而我目前在理解这一部分时遇到了麻烦。因此,如果有人可以向我详细解释,那就太好了。

1 个答案:

答案 0 :(得分:2)

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\]\$
指示提示的外观,即

enter image description here

因为,在 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,则显示 '#',否则显示 '$' 字符