Ubuntu'da readline destekli SQLite


19

Ben sqlite3Ubuntu yüklü paketi ve taleb için destek var. Bu, komut geçmişi olmadığı ve readline'ın size sunduğu diğer şık özellikler anlamına gelir.

Bu bir yapılandırma veya paketleme sorunu mu? Bir yerde bana kutunun dışında readline desteği verecek farklı bir paket arşivi var mı? Ya da, sqlite3'ü readline desteğine sahip olduğundan emin olarak nasıl derleyebilirim?

Yanıtlar:


36

Her zaman rlwrap kullanabilirsiniz:

rlwrap sqlite3 database.db

FYI, sadece dayanıklı balıkçıl kurulumumu kontrol ettim ve sqlite3'ün readline desteği var.


Rlwrap hakkında bir şey bilmiyordum. Gerçekten harika, teşekkürler! Kubuntu Jaunty Jackalope'da sqlite3 paketini kullanıyorum ve bazı nedenlerden dolayı readline desteği ile birlikte gelmedi.
Helder S Ribeiro

20

Google'da " ubuntu sqlite3 readline " için ilk isabet olduğu için başka bir cevap ekliyorum :

Android SDK kendi sqlite3ikili sürümünü yükler . Bu ikili readlinedestek sağlamaz . Android SDK'yı yolunuza eklediyseniz, bu readlinedesteğiniz olmadığını düşünmenize neden olabilir , aslında her Ubuntu paketi readlinedestekle derlenir .

Aynı durumu açıklayan bu Ubuntu Hata Raporuna da bakın .


6
Anaconda da aynı şeyi yapıyor. Ahh! / usr / bin / sqlite3 düzgün çalışır.
zbyszek

2
Bunu işaret ettiğiniz için teşekkürler. Android SDK'm / usr / bin / sqlite3 uygulamamı saklıyordu.
Dwayne Crooks

1
MacOS High Sierra'mda da durum böyleydi. Koşarak kontrol edebilirsiniz which sqlite3.
Shane Creighton-Young

1
+1, benim de sorunumdu, $ANDROID_HOME/Sdk/platform-toolssonra vardı $PATH, ama sadece sqlite3 yüklemedim. Bu konuyu tam olarak aynı arama ifadesini kullanarak buldum.
Meehow

2
  1. C kaynak kodunu içeren zip dosyasını https://www.sqlite.org/download.html (sqlite-amalgamation-nnnnnnn.zip) adresinden indirin.
  2. Shell.c, sqlite3.c ve .h dosyalarını almak için sıkıştırılmış dosyayı açın.
  3. Henüz yüklenmediyse, libreadline ve libncurses'ı yükleyin. Ubuntu Linux'ta, aşağıdaki komutu çalıştırarak yükleyin:

    sudo apt install libreadline-dev libncurses-dev

  4. Oluşturmak için aşağıdaki komutu çalıştırın:

    gcc -DSQLITE_ENABLE_FTS5 -DHAVE_READLINE kabuk.c sqlite3.c -lpthread -ldl -lm -lreadline -lncurses -o sqlite3

Not: Readline işlevselliğini elde etmek için -DHAVE_READLINE ve -lreadline ve -lncurses gerekir.

Sqlite3 ikili dosyasını / usr / bin dizinine kopyalayın veya yolunuza ekleyin.


1
Bu en iyi cevap. Ubuntu 18.04 üzerine Not İlk önce bunu çalıştırmak için gerekli:sudo apt install libreadline-dev libncurses-dev
rayzinnz

Teşekkürler, sudo apt kurulum adımlarını eksiksizlik amacıyla ekledim.
Rob de la Cruz

0

Ben kendi ikili ile bu derlemeyi başardı:

"Autoconf" kaynak dosyasını SQLite İndirme sayfasından indirin . Katranı açın ve çıkarın, kaynak dizine geçin.

Kaynak kodu şununla derleyin:

./configure --enable-readline
make

RedHat üzerinde koşuyorum, bu yüzden yum install readline-develönceden koşmak zorunda kaldım . Bu makinenizde farklı olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.