可以使用提示字元主題檔案自訂 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 會使用不含色彩的最小提示字元。