利用亚行外壳sqlite3的时候光标键不工作(Cursor keys not working whe

2019-08-18 16:30发布

当使用sqlite3的通过adb shell箭头键,而不是将光标移动到期望的位置或召唤历史设施,以下是显示在屏幕上: ^[[A ^[[B ^[[C ^[[D

我使用的是Mac OS X和我试图码头的iTerm终端仿真器。

是否有人知道如何解决这一问题?

Answer 1:

为了让编辑和历史在控制台程序的输入,该程序必须与被链接readline库。

sqlite3工具不支持readline的,但在Android上,readline的支持已被禁用。 (大概是因为的ReadLine只在GPL许可。)



Answer 2:

一种解决方法是使用SQLite的本地版本与readline的支持。

  1. 从您的设备的数据库文件复制到本地机器:
    adb pull <database-file-on-device>

  2. 使用SQLite的本地版本访问数据库文件:
    sqlite3 <database-file-on-local>

  3. 如果所做的更改,你可以将它们传输到设备。 从本地计算机复制你的本地数据库文件到您的设备:
    sqlite3 <database-file-on-local> <database-file-on-device>



Answer 3:

您可以在亚行外壳使用先前的命令功能。 因此,只要亚行外壳。 然后cd到/数据/数据//数据库目录。 从这里运行(例如):sqlite3的 “SELECT * FROM”

然后你可以使用向上箭头重做命令。 一个黑客的一种,但办法比重新键入sqlite3的交互提示里面的命令更好。



文章来源: Cursor keys not working when using sqlite3 from adb shell