Клавиши курсора не работают при использовании sqlite3 из оболочки adb
при использовании sqlite3 через adb shell
клавиши со стрелками, вместо перемещения курсора в нужное положение или вызова объекта истории, на экране отображается следующее:^[[A
, ^[[B
, ^[[C
, ^[[D
.
я использую Mac OS X, и я пробовал терминал и iTerm эмуляторы терминалов.
кто-нибудь знает как это исправить?
3 ответов
чтобы разрешить редактирование и историю на входе консольной программы, эта программа должна быть связана с readline
библиотека.
на sqlite3
инструмент поддерживает readline, но на Android поддержка readline была отключена.
(Вероятно, потому, что readline лицензируется только под GPL.)
обходным путем было бы использовать локальную версию SQLite с поддержкой readline.
скопировать файл базы данных с вашего устройства на локальном компьютере:
adb pull <database-file-on-device>
используйте локальную версию SQLite для доступа к файлу базы данных:
sqlite3 <database-file-on-local>
Если вы внесли изменения, вы можете перенести их на устройство. Скопируйте файл локальной базы данных с локального компьютера на компьютер устройство:
sqlite3 <database-file-on-local> <database-file-on-device>
вы можете использовать предыдущую функциональность команды в оболочке adb. Так что просто adb shell. Затем компакт-диск в каталог/data/data/ / databases. Отсюда запустите (например): sqlite3 "select * from "
затем вы можете использовать стрелку вверх, чтобы повторить эту команду. Вид взлома, но лучше, чем повторный ввод команды внутри интерактивной подсказки sqlite3.