【问题标题】:How to view the entire Rails console history?如何查看整个 Rails 控制台历史记录?
【发布时间】:2012-07-22 14:54:56
【问题描述】:

有人知道如何在 Rails 控制台中查看“历史记录”吗?

按向上箭头可让我遍历最近的命令,但我希望将它们全部放在一个列表中。我基本上是在寻找与 Unix history 实用程序等效的 rails。

这在 Rails 中可能吗?如果有,怎么做?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    看看~/.irb-history,你会发现那里的历史。

    【讨论】:

    • hm... 作为记录,我的机器上实际上是 ~/.irb-history(带有破折号,而不是下划线)。不知道为什么。我在 Mac 上并使用 RVM。无论如何,谢谢!
    • 很奇怪,我有这两个文件,但带有_ 的文件似乎比另一个文件更新。奇怪。
    • 我也有这两个文件,但就我而言,- 是最新的。确实很奇怪!
    • 在我的 Ubuntu 笔记本电脑上是一个连字符,在我们的 Ubuntu 服务器上是一个下划线。确实很奇怪:他们拥有相同版本的 ruby​​,但它硬安装在服务器上,而 rvm 安装在我的笔记本电脑上。不知道是不是跟rvm有关?
    • 我在~/.local/share/pry/pry_history 中找到了它,大概是由于我正在使用的 venvs 中的开发需求中有一个 pry-rails gem
    【解决方案2】:

    history 命令的最佳等效项是

    puts Readline::HISTORY.to_a
    

    在 IRB 会话中。这样做的好处是不需要配置文件系统日志记录到任何$HOME/.*_history 文件(就像在 AWS 弹性 beanstalk 实例中一样)。

    【讨论】:

      【解决方案3】:

      我尝试了接受的答案,但我们的服务器没有~/.irb-history

      事实证明,历史记录保存在~/.pry_history 中。希望这会有所帮助。

      【讨论】:

      • 也在这里。也许在使用 pry gem 时,它会存储在~/.pry_history,而不是~/.irb_history
      【解决方案4】:

      由于我们已经在控制台中,

      lines = File.read("#{ENV['HOME']}/.pry_history");
      

      lines = File.read("#{ENV['HOME']}/.irb-history");
      

      那么,

      puts lines
      

      【讨论】:

      • history = File.read("#{ENV['HOME']}/.pry_history").split('\n')
      【解决方案5】:

      尝试CTRL+R打开历史搜索

      【讨论】:

        【解决方案6】:

        我们可以在控制台使用以下命令查看

        cat ~/.irb-history
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-11-16
          • 2021-11-30
          • 2017-02-23
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多