最近使用mysql命令行時(shí),發(fā)現(xiàn)一個(gè)問(wèn)題,就是無(wú)法向上翻動(dòng)之前輸入的命令,只能一步步向下翻動(dòng),非常不方便。
經(jīng)過(guò)一番搜索,發(fā)現(xiàn)這并非是mysql命令行的bug,而是因?yàn)閙ysql命令行默認(rèn)使用的是readline庫(kù)進(jìn)行命令行操作,而該庫(kù)默認(rèn)情況下會(huì)在字符長(zhǎng)度到達(dá)一定程度后才顯示歷史命令,而不是像我們平常使用的終端程序那樣,可以實(shí)時(shí)顯示我們輸入的歷史命令。
不過(guò),我們?nèi)匀豢梢酝ㄟ^(guò)修改readline的配置文件,使得mysql命令行允許實(shí)時(shí)顯示歷史命令,具體操作如下:
# 打開(kāi)readline的配置文件
$ vi ~/.inputrc
# 在配置文件的最后面添加以下兩行
"\e[A": history-search-backward
"\e[B": history-search-forward
# 保存并關(guān)閉文件,重新打開(kāi)mysql命令行即可
以上操作的含義是,將向上、下方向鍵分別映射到搜索歷史命令中最近的命令,這樣我們即可使用向上、下方向鍵實(shí)時(shí)顯示歷史命令。
總的來(lái)說(shuō),雖然mysql命令行默認(rèn)不支持實(shí)時(shí)顯示歷史命令,但通過(guò)修改readline庫(kù)的配置,我們?nèi)匀豢梢宰屍涓臃奖阋子谩?/p>