в оболочке SQLite (CLI), как завершить ввод оператора после ^]] A?

признаюсь, это не зависит от Ubuntu, а зависит от оболочки SQLite. В любом случае, может быть, кто-то из вас знает какой-нибудь намек. Я начинаю работать с Linux, кстати ...

Я печатаю с помощью SQLite и использую его оболочку, случайно нажимаю клавишу со стрелкой вверх. к сожалению, с ним не связаны функции чтения истории, и нет, я не могу это изменить. Ввод оболочки ожидает определенной конечной строки, но, вероятно, находится в каком-то специальном экранированном режиме .... поэтому мой сеанс оболочки должен прекратиться из-за того, что я нажму Ctrl + Z . Любой другой ключ, который я попробовал, ничего не изменил.

Есть ли подсказка? Можно ли изменить это поведение так, чтобы при нажатии этих "специальных" клавиш стандартной клавиатуры ничего не происходило?

1
задан 10 March 2015 в 22:00

2 ответа

если Ctrl + Z не работает, вы можете использовать команду: -

sqlite> .exit

Для получения дополнительной информации используйте: -

sqlite> .help
0
ответ дан 10 March 2015 в 22:00

По-видимому, это поведение известно и «преднамеренное» . Он ведет себя так, потому что разработчики sqlite не хотят делать sqlite зависимым от readline (библиотеки, которая предоставляет функциональность стрелки для оболочки), потому что это не во всех дистрибутивах GNU / Linux. И, следовательно, они не распространяют двоичный файл, включая функции readline.

Чтобы иметь более стандартную оболочку sqlite, вам нужно будет собрать sqlite из исходного кода. Это не так сложно, просто запустите эти команды во временном каталоге:
apt-get source sqlite3 cd sqlite3-* ./configure make sudo make install
После этого вы сможете ввести свою собственную версию, просто набрав [ 111].

Подробнее здесь .


Что касается «команды выхода», Ctrl + Z фактически приостанавливает выполнение программы и отправляет ее в фоновом режиме . Если вы хотите выйти из оболочки sqlite, вы должны использовать Ctrl + D

0
ответ дан 10 March 2015 в 22:00

Другие вопросы по тегам:

Похожие вопросы: