ruby - 我如何从 ruby​​ 脚本中判断它是从命令行还是从非交互式进程运行的?

标签 ruby

我如何从 ruby​​ 脚本中判断它是否已从命令行运行,即像这样:

> ruby myscript.rb

或来自非交互式进程,例如计划?

最佳答案

$stdin.tty? 如果连接到终端将返回 true,否则返回 false。

关于问题 Best practices with STDIN in Ruby? 有相当多的附加信息

关于ruby - 我如何从 ruby​​ 脚本中判断它是从命令行还是从非交互式进程运行的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3281664/

相关文章:

ruby - "too clever"的 Ruby 代码示例是什么?

ruby-on-rails - 使用 Heroku 设置 Paperclip Amazon S3

ruby-on-rails - 为多个 Rails 对象呈现 JSON

ruby - 如何调用 ruby​​ block 以访问调用方绑定(bind)

ruby - "rake"命令得到错误 "no such file to load -- rspec/core/rake_task"

ruby - 定义一个 `module_function` 然后覆盖相同的方法 : how many methods exist?

ruby - Ruby 1.8.7 中的 NoMethodError

java - 使用两种编程语言生成UUID?

ruby-on-rails - Nokogiri 从 Nokogiri::XML::Element 获取 xpath

ruby - 如何让 strptime 引发带有垃圾尾随字符的 ArgumentError