답변:
readline supoort로 프로그램을 컴파일하십시오. Readline은 bash 및 python과 같은 인터프리터에서 사용자 입력을 처리하는 공통 라이브러리입니다. 소스, 종속성을 가져오고 다음을 사용하여 구성하십시오.
user@computer in: ~/src/sqlite-autoconf-3071602
$ ./configure --enable-readline=yes
자세한 내용은 INSTALL 파일을 참조하십시오. 또한 배포판에 이미 readline을 지원하는 sqlite3 바이너리가있을 수 있습니다. 둘러 봐
sqlite3를 컴파일하지 않으려면 rlwrap 을 사용할 수 있습니다 . 를 실행 sudo apt install rlwrap
한 다음 sqlite3의 별칭을 설정하십시오 .bashrc
.
alias sqlite="rlwrap -a -N -c -i sqlite3"
이 -c
옵션은 파일 이름 완성을 제공합니다.
~/.rlwrap/sqlite3_completions
키워드 완성을 위한 파일 을 만들 수 있습니다 .
ABORT ACTION ADD AFTER ALL ALTER ANALYZE AND AS ASC ATTACH AUTOINCREMENT BEFORE BEGIN BETWEEN BY CASCADE CASE CAST CHECK COLLATE COLUMN COMMIT CONFLICT CONSTRAINT CREATE CROSS CURRENT_DATE CURRENT_TIME CURRENT_TIMESTAMP DATABASE DEFAULT DEFERRABLE DEFERRED DELETE DESC DETACH DISTINCT DROP EACH ELSE END ESCAPE EXCEPT EXCLUSIVE EXISTS EXPLAIN FAIL FOR FOREIGN FROM FULL GLOB GROUP HAVING IF IGNORE IMMEDIATE IN INDEX INDEXED INITIALLY INNER INSERT INSTEAD INTERSECT INTO IS ISNULL JOIN KEY LEFT LIKE LIMIT MATCH NATURAL NO NOT NOTNULL NULL OF OFFSET ON OR ORDER OUTER PLAN PRAGMA PRIMARY QUERY RAISE RECURSIVE REFERENCES REGEXP REINDEX RELEASE RENAME REPLACE RESTRICT RIGHT ROLLBACK ROW SAVEPOINT SELECT SET TABLE TEMP TEMPORARY THEN TO TRANSACTION TRIGGER UNION UNIQUE UPDATE USING VACUUM VALUES VIEW VIRTUAL WHEN WHERE WITH WITHOUT
이 -i
옵션은 키워드 완성 대소 문자를 구분하지 않습니다.
-N
Ubuntu의 sqlite3에서 작업을 완료 하려면 옵션 을 제거해야했습니다 .
/usr/share/rlwrap/completions
( man rlwrap
). 완료 파일 이름을 주목해야 할 것은 _completion
사용자 별 ~/.rlwrap
디렉토리 의 경우와 같이 접미사로 끝나지 않아야합니다 .
rlwrap -a -N -c -i -f ~/.rlwrap/sqlite3_completions sqlite3
데비안 사용자를 위해. echo '.help' | sqlite3 | grep -o '^\.[a-z]* ' >> ~/.rlwrap/sqlite3_completions
모든 도트 명령을 자동 완성합니다.