1

我正在寻找解决方案如何在不直接调用它的情况下运行 Ruby 脚本

ruby /path/to/file.rb

到目前为止,我一直在使用别名.bashrc来创建快捷方式,例如

alias myscript='ruby /path/to/file.rb'

但是现在,我需要创建一个我想在不同计算机上使用的 gem,而我目前的方法不适合这个。

4

2 回答 2

2

您可以执行以下操作:

  1. 创建一个 shell 脚本,它像您的别名一样调用 Ruby 脚本:

    ruby /path/to/file.rb
    
  2. 设置指向 /usr/bin/ 路径的软链接,以便在 shell 中使用somecommand

    ln -s /full/path/to/the/previously/created/shellscript /usr/bin/somecommand
    
  3. 如果你想走得更远,你可以创建一个自动执行软链接的 shell 脚本。

于 2012-06-17T12:59:12.377 回答
2

在脚本的开头添加一个 shebang

#!/usr/bin/env ruby

(检查shebang是#!)然后使您的脚本可执行

chmod +x file.rb

现在您可以将文件作为“独立”可执行文件运行

# For example
$ ./file.rb

(“独立”,因为 ruby​​ 解释器仍然需要安装在路径中的某个位置。)

于 2012-06-17T23:33:23.093 回答