Ich verwende sqlite3 auf einem Computer, auf dem ich die Tab-Vervollständigung verwenden kann (dh .read abc wird automatisch zu .read abcdefghij.db vervollständigt). Ich möchte wissen, wie dies auf meinem persönlichen Computer aktiviert wird.
Beide Maschinen sind Ubuntu Linux und die Shell ist bash. Ich beziehe mich in der interaktiven SQLite-Eingabeaufforderung auf Autovervollständigung.
Ursprünglich geschrieben am dba .
quelle
Sie können rlwrap verwenden, wenn Sie sqlite3 nicht kompilieren möchten. Führen Sie
sudo apt install rlwrap
einfach den.bashrc
folgenden Befehl aus und richten Sie dann einen Alias für sqlite3 ein :Mit dieser
-c
Option können Sie den Dateinamen vervollständigen.Und Sie können eine Datei erstellen
~/.rlwrap/sqlite3_completions
, um Schlüsselwortvervollständigungen zu erhalten:Bei
-i
Auswahl dieser Option wird die Groß- und Kleinschreibung nicht berücksichtigt.quelle
-N
Option für die Vervollständigung entfernen musste, um mit Ubuntus sqlite3 zu arbeiten./usr/share/rlwrap/completions
(wie in diesem dokumentiertman rlwrap
), in dem systemweite Abschlussdateien für alle Benutzer abgelegt werden können. Beachten Sie, dass die Namen der Vervollständigungsdateien nicht mit einem_completion
Suffix enden sollten, wie dies beim Benutzerverzeichnis der Fall ist~/.rlwrap
.rlwrap -a -N -c -i -f ~/.rlwrap/sqlite3_completions sqlite3
für Debian-Benutzer.echo '.help' | sqlite3 | grep -o '^\.[a-z]* ' >> ~/.rlwrap/sqlite3_completions
um alle Punktbefehle automatisch zu vervollständigen.