우분투에서 readline을 지원하는 SQLite


19

나는했다 sqlite3우분투에 설치 패키지 및 readline에 대한 지원은 없습니다. 즉, 명령 기록이 없으며 readline이 제공하는 다른 멋진 기능이 있습니다.

구성 또는 패키징 문제입니까? 즉시 패키지 지원을 제공 할 수있는 다른 패키지 아카이브가 있습니까? 아니면 sqlite3을 readline 지원을 사용하도록 직접 컴파일하려면 어떻게해야합니까?

답변:


36

항상 rlwrap을 사용할 수 있습니다.

rlwrap sqlite3 database.db

참고로, 방금 hardy heron 설치를 확인했으며 sqlite3에는 readline 지원이 있습니다.


rlwrap에 대해 몰랐습니다. 정말 감사합니다! Kubuntu Jaunty Jackalope에서 sqlite3 패키지를 사용하고 있으며 어떤 이유로 든 readline 지원이 제공되지 않았습니다.
Helder S Ribeiro

20

Google 에서 " ubuntu sqlite3 readline "에 대한 첫 번째 조회이므로 다른 답변을 추가합니다 .

Android SDK는 자체 sqlite3바이너리 버전을 설치합니다 . 이 바이너리는 readline지원 하지 않습니다 . Android SDK를 경로에 추가하면 readline지원 이 없다고 생각할 수 있습니다 . 실제로 모든 Ubuntu 패키지는 readline지원 으로 컴파일됩니다 .

동일한 상황을 설명하는 이 Ubuntu 버그 보고서 도 참조하십시오 .


6
아나콘다는 같은 일을합니다. 아아! / usr / bin / sqlite3은 정상적으로 작동합니다.
zbyszek

2
지적 해 주셔서 감사합니다. 내 Android SDK가 / usr / bin / sqlite3 응용 프로그램을 숨기고있었습니다.
Dwayne Crooks

1
이것은 macOS High Sierra에서도 마찬가지입니다. 을 실행하여 확인할 수 있습니다 which sqlite3.
Shane Creighton-Young

1
하나는, 내가했다,뿐만 아니라 내 문제였다 $ANDROID_HOME/Sdk/platform-tools$PATH, 난 그냥 sqlite3를 설치하지 않았다. 그리고 정확히 같은 검색 구를 사용 하여이 스레드를 찾았습니다.
Meehow

2
  1. https://www.sqlite.org/download.html(sqlite-amalgamation-nnnnnnn.zip ) 에서 C 소스 코드가 포함 된 zip 파일을 다운로드하십시오.
  2. shell.c, sqlite3.c 및 .h 파일을 얻으려면 압축을 푸십시오.
  3. 아직 설치되지 않은 경우 libreadline 및 libncurses를 설치하십시오. Ubuntu Linux에서 아래 명령을 실행하여 설치하십시오.

    sudo apt 설치 libreadline-dev libncurses-dev

  4. 아래 명령을 실행하여 빌드하십시오.

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

참고 : readline 기능을 사용하려면 -DHAVE_READLINE 및 -lreadline 및 -lncurses가 필요합니다.

sqlite3 바이너리를 / usr / bin에 복사하거나 경로에 추가하십시오.


1
이것이 가장 좋은 대답입니다. Ubuntu 18.04에 대한 참고 사항 sudo apt install libreadline-dev libncurses-dev
먼저이 작업

고마워, 나는 완전한 목적을 위해 sudo apt 설치 단계를 추가했다.
Rob de la Cruz

0

나는 이것으로 내 바이너리를 컴파일 할 수 있었다.

SQLite 다운로드 페이지 에서 "autoconf"소스 파일을 다운로드하십시오 . tar를 압축 해제하고 압축을 풀고 소스 디렉토리로 변경하십시오.

다음을 사용하여 소스 코드를 컴파일하십시오.

./configure --enable-readline
make

RedHat에서 실행 중이므로 yum install readline-devel미리 실행해야했습니다 . 컴퓨터와 다를 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.