When using sqlite3 through adb shell
arrow keys, instead of moving the cursor to the desired position or summoning the history facility, the following is showed in the screen: ^[[A
, ^[[B
, ^[[C
, ^[[D
.
I'm using Mac OS X and I have tried Terminal and iTerm terminal emulators.
Does anybody know how to fix this?
You can use the previous command functionality in the adb shell. So just adb shell. Then cd to the /data/data//databases directory. From here run (for example): sqlite3 "select * from "
Then you can use up arrow to redo that command. Kind of a hack, but way better than having to retype the command inside the sqlite3 interactive prompt.
A workaround would be to use a local version of SQLite with readline support.
Copy a database file from your device to your local machine:adb pull <database-file-on-device>
Use your local version of SQLite to access the database file:sqlite3 <database-file-on-local>
If you made changes you can transfer them to the device. Copy your local database file from your local machine to your device:sqlite3 <database-file-on-local> <database-file-on-device>
To allow editing and history in the input of a console program, that program must be linked with the readline
library.
The sqlite3
tool does support readline, but on Android, readline support has been disabled.
(Probably because readline is licensed only under the GPL.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With