Вы всегда можете использовать rlwrap:
rlwrap sqlite3 database.db
К вашему сведению, я только что проверил мою версию hardy heron, и его sqlite3 имеет поддержку readline.
Я установил sqlite3
пакет в Ubuntu, и поддержка readline отсутствует. Это означает, что нет истории команд, и эти отличные функции readline дает вам.
Это проблема конфигурации или упаковки? Есть ли где-нибудь другой архив пакетов, который бы дал мне поддержку readline из коробки? Или как собрать сам sqlite3, чтобы он поддерживал readline?
Вы всегда можете использовать rlwrap:
rlwrap sqlite3 database.db
К вашему сведению, я только что проверил мою версию hardy heron, и его sqlite3 имеет поддержку readline.
Я добавляю еще один ответ, потому что это первый хит " ubuntu sqlite3 readline " в Google:
Android SDK устанавливает свою собственную версию sqlite3
бинарника. Этот двоичный файл не обеспечивает readline
поддержку. Если вы добавили Android SDK к своему пути, это может заставить вас думать, что у вас нет readline
поддержки, фактически каждый пакет Ubuntu компилируется с readline
поддержкой.
Также смотрите этот отчет об ошибках Ubuntu, в котором описана та же ситуация.
Если он еще не установлен, установите libreadline и libncurses. В Ubuntu Linux установите, выполнив следующую команду:
sudo apt установить libreadline-dev libncurses-dev
Запустите команду ниже, чтобы построить:
gcc -DSQLITE_ENABLE_FTS5 -DHAVE_READLINE shell.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3
Примечание: вам нужны -DHAVE_READLINE и -lreadline и -lncurses, чтобы получить функциональность readline.
Скопируйте двоичный файл sqlite3 в / usr / bin или добавьте его по своему пути.
Мне удалось собрать свой собственный двоичный файл с этим:
Загрузите исходный файл «autoconf» со страницы загрузки SQLite . Разархивируйте и распакуйте tar, перейдите в исходный каталог.
Скомпилируйте исходный код:
./configure --enable-readline make
Я работаю на RedHat, поэтому мне пришлось бежать yum install readline-devel
заранее. Это может отличаться на вашей машине.