![在SQLite shell(CLI)中如何结束^]]A后的语句输入?](https://linux22.com/image/837876/%E5%9C%A8SQLite%20shell%EF%BC%88CLI%EF%BC%89%E4%B8%AD%E5%A6%82%E4%BD%95%E7%BB%93%E6%9D%9F%5E%5D%5DA%E5%90%8E%E7%9A%84%E8%AF%AD%E5%8F%A5%E8%BE%93%E5%85%A5%EF%BC%9F.png)
坦白说,这不是 ubuntu 特有的,而是 SQLite shell 特有的。无论如何,也许你们中有人知道一些提示。顺便说一句,我是 Linux 初学者……
我正在使用 SQLite 及其 shell 进行输入,不小心按到了向上箭头键。不幸的是,它没有与之关联的历史记录 readline 功能,而且我无法更改这一点。shell 输入正在等待识别的某个结束行,但可能处于某种特殊的转义模式……所以我的 shell 会话将因我按Ctrl+而终止Z。我尝试的任何其他键都没有改变任何东西。
有人能提供一些提示吗?是否可以改变这种行为,以便按下标准键盘上的那些“特殊”键时不会发生任何反应?
答案1
如果Ctrl+Z不起作用,那么您可以使用以下命令:-
sqlite> .exit
欲了解更多信息,请使用:-
sqlite> .help
答案2
显然,这种行为是已知的,并且是“故意的”。之所以如此,是因为 sqlite 开发人员不想让 sqlite 依赖于 readline(为 shell 提供箭头功能的库),因为它不存在于所有 GNU/Linux 发行版中。因此,他们不会分发包含 readline 功能的二进制文件。
为了获得更标准的 sqlite shell,您必须从源代码构建 sqlite。这并不难,只需在临时目录中运行以下命令:
apt-get source sqlite3 cd sqlite3-* ./configure make sudo make install
之后,您只需键入 即可进入您自己构建的版本sqlite3
。
更多信息这里。
至于“退出命令”,Ctrl+Z实际上暂停正在运行的程序并将其发送到后台. 如果你想退出 sqlite shell,你应该使用Ctrl+D