Você sempre pode usar o rlwrap:
rlwrap sqlite3 database.db
FYI, acabei de verificar minha hardy heron install e seu sqlite3 tem suporte a readline.
Eu tinha o pacote sqlite3
instalado no Ubuntu e não há suporte para readline. Isso significa que não há histórico de comandos e os outros recursos interessantes que o readline oferece a você.
Esta é uma configuração ou um problema de empacotamento? Existe um arquivo de pacotes diferente em algum lugar que me daria suporte readline pronto para uso? Ou então, como eu mesmo compilo o sqlite3, certificando-me de que ele tem suporte readline?
Eu adiciono outra resposta porque esse é o primeiro hit de " ubuntu sqlite3 readline " no google:
O Android SDK instala sua própria versão do binário sqlite3
. Este binário não fornece readline
support. Se você adicionou o Android SDK ao seu caminho, isso pode fazer você pensar que não tem readline
support, na verdade, todo pacote do Ubuntu é compilado com readline
support.
Veja também este Relatório de erros do Ubuntu que descreve a mesma situação.
Se ainda não estiver instalado, instale libreadline e libncurses. No Ubuntu Linux, instale executando o comando abaixo:
sudo apt instale o libreadline-dev libncurses-dev
Execute o comando abaixo para criar:
gcc-SDQLITE_ENABLE_FTS5 -DHAVE_READLINE shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3
Observação: você precisa de -DHAVE_READLINE e -lreadline e -lncurses para obter a funcionalidade readline.
Copie o binário sqlite3 para / usr / bin ou adicione ao seu caminho.
Eu consegui compilar meu próprio binário com isso:
Faça o download do arquivo-fonte "autoconf" na página de download do SQLite . Descompacte e extraia o tar, mude para o diretório de origem.
Compile o código-fonte com:
./configure --enable-readline
make
Estou usando o RedHat, então tive que executar yum install readline-devel
antes. Isso pode ser diferente na sua máquina.