可以使用提示符主题文件自定义 MySQL Shell 提示符。要自定义提示符主题文件,请将 MYSQLSH_PROMPT_THEME
环境变量设置为提示符主题文件名,或将提示符主题文件复制到 Linux 和 macOS 上的 ~/.mysqlsh/
目录,或 Windows 上的 %AppData%\Roaming\MySQL\mysqlsh\
目录。该文件必须命名为 prompt.json
,并且必须重新启动 MySQL Shell 才能使更改生效。
提示符由六个部分组成
状态:是否是生产系统以及连接是否已断开。
MySQL:提醒您正在使用 MySQL 数据库。
连接:您连接到的主机,以及使用 SSL 的端口。
模式:当前默认模式。
模式:您正在使用的模式:
JS
= JavaScript,PY
= Python,以及SQL
= SQL。结束:提示符以
>
结尾。
可以通过定义环境变量 MYSQLSH_USER_CONFIG_HOME
在所有平台上覆盖 mysqlsh
目录的用户配置路径,其中包含 prompt.json
文件。此变量的值将替换 Microsoft Windows 上的 %AppData%\Roaming\MySQL\mysqlsh\
或 Unix 上的 ~/.mysqlsh/
。
在 Microsoft Windows 上,可以在以下目录中找到提示符主题文件:%programfiles%\MySQL\MySQL Shell 8.0\share\mysqlsh\prompt\
。
在 macOS 上,可以在以下目录中找到提示符主题文件:/usr/local/mysql-shell/share/mysqlsh/prompt
。
在 Linux 上,可以在以下目录中找到提示符主题文件:/usr/share/mysqlsh/prompt/
。
README.prompt
文件中描述了提示符主题文件的格式。还包括一些示例提示符主题文件,例如 prompt_256.json
。
在示例提示符主题 prompt_256.json
中,有一个包含 disconnected%host%
和 %is_production%
类的对象。变量在此文件中定义,或者来自 MySQL Shell 本身,例如 %host
和 %port
。在此示例中,主机包含在环境变量 PRODUCTION_SERVERS
中。
"variables" : {
"is_production": {
"match" : {
"pattern": "*;%host%;*",
"value": ";%env:PRODUCTION_SERVERS%;"
},
使用 bg
和 fg
元素定义背景色和前景色。这些元素允许您自定义提示符中使用的颜色。使用以下方法之一指定颜色
按名称:使用按名称定义的颜色。
按索引:使用 0 到 255(含)之间的值,其中 0 为黑色,63 为浅蓝色,127 为洋红色,193 为黄色,255 为白色。
按 RGB:使用
#rrggbb
格式的值。终端必须支持TrueColor
。
此示例中使用了命名颜色,如果布尔值 is_production
元素返回 TRUE
,则输出文本 PRODUCTION
。
"production" : {
"text": " PRODUCTION ",
"bg": "red",
"fg": "white"
}
这些元素以下列格式输出提示符
颜色显示取决于终端提供的支持。大多数 Linux 和 Mac 终端都支持 256 色。在 Windows 中,颜色支持需要支持 ANSI/VT100 转义码的第三方终端程序,或者需要 Windows 10。默认情况下,MySQL Shell 会尝试检测终端类型并适当地处理颜色。如果自动检测对您的终端类型不起作用,或者您想由于辅助功能要求或其他目的修改颜色模式,则可以定义环境变量 MYSQLSH_TERM_COLOR_MODE
以强制 MySQL Shell 使用特定的颜色模式。此环境变量的可能值为 rgb
、256
、16
和 nocolor
。
启动时,如果在提示符主题文件中发现错误,则会打印错误消息并使用默认提示符主题。一些示例提示符主题文件需要特殊字体(例如 SourceCodePro+Powerline+Awesome+Regular.ttf
)。如果将 MYSQLSH_PROMPT_THEME
环境变量设置为空值,则 MySQL Shell 将使用不带颜色的最小提示符。