Cursortasten funktionieren nicht, wenn sqlite3 von adb shell verwendet wird

8

Wenn Sie die Pfeiltasten sqlite3 bis adb shell verwenden, anstatt den Cursor an die gewünschte Position zu bewegen oder die History aufzurufen, wird auf dem Bildschirm Folgendes angezeigt: ^[[A , ^[[B , ^[[C , ^[[D .

Ich verwende Mac OS X und habe Terminal-Emulatoren Terminal und iTerm ausprobiert.

Weiß jemand, wie man das repariert?

    
Tanausú González 01.04.2013, 16:46
quelle

3 Antworten

5

Um Bearbeiten und Verlauf in der Eingabe eines Konsolenprogramms zu erlauben, muss dieses Programm mit der readline -Bibliothek verknüpft sein.

Das Tool sqlite3 unterstützt readline, aber unter Android wurde die readline-Unterstützung deaktiviert. (Wahrscheinlich weil readline nur unter der GPL lizenziert ist.)

    
CL. 01.04.2013, 19:05
quelle
5

Eine Problemumgehung wäre die Verwendung einer lokalen Version von SQLite mit Readline-Unterstützung.

  1. Kopieren Sie eine Datenbankdatei von Ihrem Gerät auf Ihren lokalen Rechner:
    adb pull <database-file-on-device>

  2. Verwenden Sie Ihre lokale Version von SQLite, um auf die Datenbankdatei zuzugreifen:
    sqlite3 <database-file-on-local>

  3. Wenn Sie Änderungen vorgenommen haben, können Sie sie auf das Gerät übertragen. Kopieren Sie Ihre lokale Datenbankdatei von Ihrem lokalen Rechner auf Ihr Gerät:
    sqlite3 <database-file-on-local> <database-file-on-device>

chobok 22.09.2013 07:00
quelle
2

Sie können die vorherige Befehlsfunktion in der adb-Shell verwenden. Also nur adb Shell. Wechseln Sie dann in das Verzeichnis / data / data // database. Von hier aus (zum Beispiel): sqlite3 "select * from"

Dann können Sie den Pfeil nach oben verwenden, um diesen Befehl zu wiederholen. Eine Art Hack, aber viel besser, als den Befehl in der interaktiven Eingabeaufforderung von sqlite3 erneut eingeben zu müssen.

    
Khanad 17.05.2015 02:58
quelle

Tags und Links