Estoy usando sqlite3 en una máquina donde puedo usar la finalización de pestañas (es decir .read abc se completará automáticamente en .read abcdefghij.db. Me gustaría saber cómo habilitar esto en mi máquina personal.
Ambas máquinas son ubuntu linux y el shell es bash. Me refiero a la finalización automática en el mensaje interactivo sqlite.
Publicado originalmente en dba .
fuente
Puede usar rlwrap si no desea compilar sqlite3. Simplemente ejecute
sudo apt install rlwrap
, y luego configure un alias para sqlite3 en su.bashrc
:La
-c
opción le da terminaciones de nombre de archivo.Y puede crear un archivo
~/.rlwrap/sqlite3_completions
para completar las palabras clave:La
-i
opción hace que la finalización de palabras clave no distinga entre mayúsculas y minúsculas.fuente
-N
opción para que la finalización funcione con sqlite3 de Ubuntu./usr/share/rlwrap/completions
(como se documenta enman rlwrap
) para colocar archivos de finalización en todo el sistema para todos los usuarios. Una cosa a tener en cuenta los nombres de archivo de finalización allí no debería terminar con_completion
sufijo como es el caso con el~/.rlwrap
directorio por usuario .rlwrap -a -N -c -i -f ~/.rlwrap/sqlite3_completions sqlite3
para usuarios de Debianecho '.help' | sqlite3 | grep -o '^\.[a-z]* ' >> ~/.rlwrap/sqlite3_completions
para completar automáticamente todos los comandos de puntos.