признаюсь, это не зависит от Ubuntu, а зависит от оболочки SQLite. В любом случае, может быть, кто-то из вас знает какой-нибудь намек. Я начинаю работать с Linux, кстати ...
Я печатаю с помощью SQLite и использую его оболочку, случайно нажимаю клавишу со стрелкой вверх. к сожалению, с ним не связаны функции чтения истории, и нет, я не могу это изменить. Ввод оболочки ожидает определенной конечной строки, но, вероятно, находится в каком-то специальном экранированном режиме .... поэтому мой сеанс оболочки должен прекратиться из-за того, что я нажму Ctrl + Z . Любой другой ключ, который я попробовал, ничего не изменил.
Есть ли подсказка? Можно ли изменить это поведение так, чтобы при нажатии этих "специальных" клавиш стандартной клавиатуры ничего не происходило?
если Ctrl kbd> + Z kbd> не работает, вы можете использовать команду: -
sqlite> .exit
Для получения дополнительной информации используйте: -
sqlite> .help
По-видимому, это поведение известно и «преднамеренное» . Он ведет себя так, потому что разработчики sqlite не хотят делать sqlite зависимым от readline (библиотеки, которая предоставляет функциональность стрелки для оболочки), потому что это не во всех дистрибутивах GNU / Linux. И, следовательно, они не распространяют двоичный файл, включая функции readline.
Чтобы иметь более стандартную оболочку sqlite, вам нужно будет собрать sqlite из исходного кода. Это не так сложно, просто запустите эти команды во временном каталоге:
apt-get source sqlite3
cd sqlite3-*
./configure
make
sudo make install
После этого вы сможете ввести свою собственную версию, просто набрав [ 111].
Подробнее здесь .
Что касается «команды выхода», Ctrl kbd> + Z kbd> фактически приостанавливает выполнение программы и отправляет ее в фоновом режиме . Если вы хотите выйти из оболочки sqlite, вы должны использовать Ctrl kbd> + D kbd>