SQLite3 のコマンドラインでヒストリや補完が効かない場合

SQLite3 でカーソルキーやタブキーが効かない

Ubuntu 16.04 LTS に入れた SQLite3 のコマンドラインで、↑キーや TAB キーを押しても ^A のような制御文字が出てきて操作が思いどおりにいかないことがあります。

macOSの例

macOS の例はウェブにいくらか見つかりました。基本的には「入れ直す」のようです。

Ubuntu(など)では

でもこちらは Ubuntu です。原因は何か。whichしたら答えがありました。

# which sqlite3
/opt/anaconda3/bin/sqlite3

そうです、Anaconda の SQLite3 を使っていました。パスは Anaconda の bin を先頭に通しているので(Python のバージョンの関係上)、SQLite3 も Anaconda の中のものが使われています。

修正方法

いろいろあると思いますが、私は Anaconda の SQLite3 を削除(リネーム)しました。シェルを再起動すれば、/usr/binあたりに入っている通常の SQLite3 が起動されるはずです。そしてそこではヒストリや補完が効くはずです。

Powered by はてなブログ