运行Ruby脚本而不直接调用它

时间:2012-06-17 12:53:37

标签: ruby bash

我正在寻找解决方案如何运行Ruby脚本而不像

那样直接调用它
ruby /path/to/file.rb

到目前为止,我一直在我的.bashrc中使用别名来创建像

这样的快捷方式
alias myscript='ruby /path/to/file.rb'

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

2 个答案:

答案 0 :(得分:2)

您可以做的是:

  1. 创建一个shell脚本,调用Ruby脚本作为您的别名:

    ruby /path/to/file.rb
    
  2. 设置/ usr / bin / path的软链接,使用somecommand在shell中调用它:

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

答案 1 :(得分:2)

将一个shebang添加到脚本的开头

#!/usr/bin/env ruby

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

chmod +x file.rb

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

# For example
$ ./file.rb

(“Standalone”,因为ruby解释器仍然需要安装在你路径的某个地方。)