【问题标题】:missing sqlite3 history file缺少 sqlite3 历史文件
【发布时间】:2017-06-19 19:37:02
【问题描述】:

我找不到sqlite3 创建的命令历史记录。

我有WindowsCygwin 两个版本。

使用 Windows 二进制文件,我可以使用向上/向下箭头查看以前的命令,甚至是以前运行的命令。但我找不到文件.sqlite_historyThis 答案建议它应该在主目录中,但我在那里找不到它。我确实有一个.sqliterc,所以我知道它是正确的目录。

使用 Cygwin 二进制文件,我根本无法使用历史记录。历史好像根本没有保存?

documentation page 上,我根本找不到任何关于历史的提及。

【问题讨论】:

    标签: sqlite cygwin windows-console input-history


    【解决方案1】:

    对于 Windows 控制台程序,命令历史记录由 Windows 控制台本身处理。不同的程序和不同的控制台会话有单独的历史缓冲区,默认情况下这些缓冲区不会存储在任何地方。但是,您可以使用doskey tool 手动管理它们。

    Cygwin 使用 Windows 管道来模拟 Unix tty 设备;这通常会导致程序无法检测到它们正在控制台中运行。尝试在 Cygwin shell 和 Windows shell 中运行该程序。

    【讨论】:

    • 来自cmd.exe 我正在运行Windowssqlite3 构建,来自Cygwin xterm/tty 我正在运行Cygwin 构建。我怀疑 Windows 控制台会保留不同调用的历史记录,这就是我在 Windows 上看到的。我确实尝试从 cmd.exe 运行 Cygwin 版本,从 bash 运行 windows 版本,它们都没有生成历史文件。
    • cmd.exe 只是一个在控制台中运行的程序。请参阅我链接到的文档中的“在程序中使用 doskey”部分。
    • 谢谢 CL。我不确定你是否理解我的问题。正如我之前所写的,我确实在 Windows 上获得了持久的历史记录,但我无法弄清楚它的存储位置。所以我看不到doskey的意义。我会给你添加标签,但我的问题不是关于 Windows 控制台,也不是关于通用输入历史,我对生成和定位 sqlite3 历史文件特别感兴趣
    • Windows 历史记录不是持久的;你必须使用doskey 来保存它。
    • 你是对的。历史记录会在sqlite3.exe 的不同调用中保留,但不会在cmd.exe 的不同调用中保留。无论如何,我正在寻找来自 sqlite3 的历史文件,因为我想使用 cygwin 版本。感谢您的跟进。
    猜你喜欢
    • 2021-01-06
    • 1970-01-01
    • 2019-01-07
    • 1970-01-01
    • 1970-01-01
    • 2017-03-21
    • 2013-03-15
    • 2015-02-05
    • 1970-01-01
    相关资源
    最近更新 更多