ruby - 在 Ruby 中包装 UNIX/Linux/OS X 二进制文件

标签 ruby linux unix path

我正在创建一个包装 UNIX/Linux/OS X 命令的基本 gem,并希望确保正确加载 PATH(即,当在 passenger 下运行 ruby​​-on-rails 应用程序时,它有 '/usr/bin' ).这是一个简单的例子来说明我正在尝试做什么(实际的例子更复杂):

module Silly
  def self.tail(path)
    `tail #{path}`
  end
end

我应该和/或可以将公共(public)文件夹添加到 ruby​​ 中的 PATH 中吗?如果不是,是否可以直接引用 /usr/bin/tail(或该目录中的任何其他二进制文件),或者它们是否位于不同系统的不同目录中?谢谢!

最佳答案

您可以使用 ENV 全局哈希访问环境变量,因此 ENV['PATH'] = ENV['PATH'] + ':/usr/bin'例如。可以使用 /bin/sh 调用命令,因为这可能会自动设置路径。

关于ruby - 在 Ruby 中包装 UNIX/Linux/OS X 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4523230/

相关文章:

c - 如何为接受命令行参数的程序创建 Makefile

带有自定义类的 Ruby 设置等于基本字符串

jquery - Friendly_id gem 出现问题,尝试定位正确的 id 时出现问题

linux - 如何在使用 gcsfuse 创建的 Linux 中卸载 Google Bucket

python - 在linux中,如何使用python检查外部程序是否正在运行?

linux - SCHED_DEADLINE 的 sched_setaffinity()

unix - 当第一个子进程退出,然后父进程退出而不调用 wait 时会发生什么?

linux - 在 OS X 上运行 Linux shell

mysql - 类似 ruby​​ 的查询错误

ruby - 安装时出现错误 'sudo gem install mechanize'