可以使用提示主题文件自定义MySQL Shell的提示。自定义提示主题文件,可以设置
MYSQLSH_PROMPT_THEME
环境变量为提示主题文件名,也可以将提示主题文件复制到
~/.mysqlsh/
Linux和macOS%AppData%\Roaming\MySQL\mysqlsh\
目录下,Windows目录下。该文件必须命名
prompt.json
,并且必须重新启动 MySQL Shell 才能使更改生效。
有六个部分可以组成提示:
Status : 是否是生产系统,是否已经失去连接。
MySQL:提醒您正在使用 MySQL 数据库。
Connection:您连接到哪个主机,以及在哪个端口上使用 SSL。
Schema:当前的默认架构。
模式:您正在使用的模式:
JS
= JavaScript、PY
= Python 和SQL
= SQL。结束:提示以 结束
>
。
通过定义环境变量,可以在所有平台上覆盖mysqlsh
所在目录
的用户配置路径。此变量的值
在 Microsoft Windows 或Unix 上替换。
prompt.json
MYSQLSH_USER_CONFIG_HOME
%AppData%\Roaming\MySQL\mysqlsh\
~/.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
.
PRODUCTION
此示例中使用命名颜色,如果布尔
is_production
元素返回
,则
带有文本
输出TRUE
。
"production" : {
"text": " PRODUCTION ",
"bg": "red",
"fg": "white"
}
这些元素以下列格式输出提示:
颜色显示取决于终端提供的支持。大多数终端在 Linux 和 Mac 中都支持 256 色。在 Windows 中,颜色支持需要支持 ANSI/VT100 转义的第 3 方终端程序或 Windows 10。默认情况下,MySQL Shell 会尝试检测终端类型并适当地处理颜色。如果自动检测不适用于您的终端类型,或者由于可访问性要求或出于其他目的想要修改颜色模式,您可以定义环境变量
MYSQLSH_TERM_COLOR_MODE
以强制 MySQL Shell 使用特定的颜色模式。此环境变量的可能值为rgb
、
256
、16
和
nocolor
。
启动时,如果在提示主题文件中发现错误,则打印错误信息并使用默认提示主题。一些示例提示主题文件需要特殊字体(例如
SourceCodePro+Powerline+Awesome+Regular.ttf
)。如果将MYSQLSH_PROMPT_THEME
环境变量设置为空值,MySQL Shell 将使用无颜色的最小提示符。