最近使用mysql命令行時,發現一個問題,就是無法向上翻動之前輸入的命令,只能一步步向下翻動,非常不方便。
經過一番搜索,發現這并非是mysql命令行的bug,而是因為mysql命令行默認使用的是readline庫進行命令行操作,而該庫默認情況下會在字符長度到達一定程度后才顯示歷史命令,而不是像我們平常使用的終端程序那樣,可以實時顯示我們輸入的歷史命令。
不過,我們仍然可以通過修改readline的配置文件,使得mysql命令行允許實時顯示歷史命令,具體操作如下:
# 打開readline的配置文件
$ vi ~/.inputrc
# 在配置文件的最后面添加以下兩行
"\e[A": history-search-backward
"\e[B": history-search-forward
# 保存并關閉文件,重新打開mysql命令行即可
以上操作的含義是,將向上、下方向鍵分別映射到搜索歷史命令中最近的命令,這樣我們即可使用向上、下方向鍵實時顯示歷史命令。
總的來說,雖然mysql命令行默認不支持實時顯示歷史命令,但通過修改readline庫的配置,我們仍然可以讓其更加方便易用。