当前位置:  开发笔记 > 编程语言 > 正文

在没有前缀"Ruby"的情况下启动Ruby

如何解决《在没有前缀"Ruby"的情况下启动Ruby》经验,为你挑选了2个好方法。

我在OS X(使用bash)和unix的新手.我想知道是否可以修改某些文件以便运行ruby程序,我不需要"ruby file.rb",而是可以运行"ruby.rb".

有没有理由不这样做?

谢谢!



1> NoahD..:

是的,你可以这样做.

假设ruby.rb有这样的东西:

#!/usr/bin/env ruby
puts 'Hello world'

在命令行: chmod +x ruby.rb

这使它可执行.

然后你可以像这样执行它:

./ruby.rb

有关更多详细信息,请参阅wikibooks.

编辑(JörgWMittag):使用#!/usr/bin/env ruby而不是#!/usr/bin/ruby像shebang那样更容易使用,因为在过去20年中生产的每个Unix上都env知道命令存在/usr/bin,而Ruby安装通常都在这里.(例如,我的生活/home/joerg/jruby-1.2.0/bin/ruby.)



2> Brian Campbe..:

正如其他人所提到的,您希望#!在开头有一个shebang()行,并将权限更改为可执行文件.

我建议使用#!/usr/bin/env ruby而不是直接使用Ruby的路径,因为它会使你的脚本更容易移植到可能在不同目录中安装Ruby的系统; env将搜索您的搜索路径,因此它将找到您ruby在命令行上运行时将执行的相同Ruby .当然,这会出现问题,如果env是在不同的位置,但它是更常见的env是在/usr/bin/env比红宝石是在/usr/bin/ruby(它可能是/usr/local/bin/ruby,/opt/bin/ruby,/opt/local/bin/ruby,等)

#!/usr/bin/env ruby
puts "Hello!"

并使其可执行:

chmod +x file.rb

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有