MySQL Shell 8.4  /  自訂 MySQL Shell  /  使用啟動腳本

13.1 使用啟動腳本

當 MySQL Shell 以 JavaScript 或 Python 模式啟動時,以及當您第一次切換至 JavaScript 或 Python 模式時,MySQL Shell 會搜尋要執行的啟動腳本。啟動腳本是 JavaScript 或 Python 特定的腳本,其中包含當 MySQL Shell 首次進入相應的語言模式時要執行的指令。啟動腳本可讓您透過以下任何方式自訂 JavaScript 或 Python 程式碼執行環境

  • 為 Python 或 JavaScript 模組新增其他搜尋路徑。

  • 定義全域函數或變數。

  • 透過 JavaScript 或 Python 執行任何其他可能的初始化。

當您在 JavaScript 或 Python 模式下啟動或重新啟動 MySQL Shell 時,以及當您在 MySQL Shell 執行時第一次變更為另一種模式時,會載入相關的啟動腳本。在此之後,MySQL Shell 不會再次搜尋啟動腳本,因此如果您已經進入相關模式,則實作對啟動腳本的更新需要重新啟動 MySQL Shell。當 MySQL Shell 以 SQL 模式啟動或切換到該模式時,不會載入任何啟動腳本。

啟動腳本是選用的,如果您想使用它們進行自訂,可以建立它們。啟動腳本必須命名如下

  • 對於 JavaScript 模式:mysqlshrc.js

  • 對於 Python 模式:mysqlshrc.py

您可以將啟動腳本放置在下列任何位置。MySQL Shell 會依列出的順序搜尋所有指定路徑,以尋找檔案名稱為 mysqlshrc 且檔案副檔名符合正在初始化的腳本模式的啟動腳本(如果啟動 MySQL Shell 時未指定語言模式,則預設為 .js)。請注意,MySQL Shell 會依找到的順序執行所有適當的腳本模式啟動腳本。如果在兩個不同的啟動腳本中定義了某些內容,則稍後執行的腳本會優先。

  1. 在平台的標準全域設定路徑中。

    • 在 Windows 上:%PROGRAMDATA%\MySQL\mysqlsh\mysqlshrc.[js|py]

    • 在 Unix 上:/etc/mysql/mysqlsh/mysqlshrc.[js|py]

  2. 在 MySQL Shell 首頁資料夾的 share/mysqlsh 子目錄中,該資料夾可以由環境變數 MYSQLSH_HOME 定義,或由 MySQL Shell 識別。如果未定義 MYSQLSH_HOME,則 MySQL Shell 會將其自己的首頁資料夾識別為包含 mysqlsh 二進制檔案的 bin 資料夾的父資料夾(如果存在)。(對於許多標準安裝,因此不需要定義 MYSQLSH_HOME。)

    • 在 Windows 上:%MYSQLSH_HOME%\share\mysqlsh\mysqlshrc.[js|py]

    • 在 Unix 上:$MYSQLSH_HOME/share/mysqlsh/mysqlshrc.[js|py]

  3. 在包含 mysqlsh 二進制檔案的資料夾中,但僅當選項 2 中描述的 MySQL Shell 首頁資料夾既未指定,也未由 MySQL Shell 在預期的標準位置中識別時才適用。

    • 在 Windows 上:<mysqlsh 二進制檔案路徑>\mysqlshrc.[js|py]

    • 在 Unix 上:<mysqlsh 二進制檔案路徑>/mysqlshrc.[js|py]

  4. 在 MySQL Shell 使用者設定路徑中,該路徑由環境變數 MYSQLSH_USER_CONFIG_HOME 定義。

    • 在 Windows 上:%MYSQLSH_USER_CONFIG_HOME%\mysqlshrc.[js|py]

    • 在 Unix 上:$MYSQLSH_USER_CONFIG_HOME/mysqlshrc.[js|py]

  5. 在平台的標準使用者設定路徑中,但僅當未指定選項 4 中描述的 MySQL Shell 使用者設定路徑時才適用。

    • 在 Windows 上:%APPDATA%\MySQL\mysqlsh\mysqlshrc.[js|py]

    • 在 Unix 上:$HOME/.mysqlsh/mysqlshrc.[js|py]