即使使用 shebang,也无法从 bash 启动 Ruby 脚本

即使使用 shebang,也无法从 bash 启动 Ruby 脚本

我正在使用 Ubuntu 12.04 64 位。我最近安装了软件包ruby1.9.1wx-ruby gem使用:

sudo gem install wxruby-ruby19

为了安装ruby1.9兼容版本。

fenetre_wx.rb所以我写了一个名为(已经具有执行权)的 ruby​​ 脚本

#!/usr/bin/env ruby
require "wx"
include Wx

class FenetrePrincipale < App
    def on_init
            Frame.new(nil, -1, "My app in Ruby with WxRuby", Point.new(-1,-1), Size.new(640,480)).show
    end
end

FenetrePrincipale.new.main_loop

我打电话的时候没问题

 ruby fenetre_wx.rb

但当我这样做时:

 ./fenetre_wx.rb

我收到以下错误:

bash: ./fenetre_wx.rb: 没有该类型的文件或档案

可以翻译为:

“没有此类型的文件或目录”:

我有法语版,但也许我的翻译有误,所以我保留了原文。

有人知道哪里出了问题吗?提前致谢。

答案1

请确保源文件中的行尾符合 unix 样式,并且源文件不以字节顺序标记开头。字节顺序标记是一个三个十六进制数字序列 (0xef 0xbb 0xbf),在任何编辑器中都是不可见的。参考这个 StackOverflow 问题解决字节顺序标记问题。并用于dos2unix行尾转换。

答案2

正如您在评论中提到的,替换

#!/usr/bin/env ruby

#!/usr/bin/ruby

相关内容