Lançar um Ruby Script do bash não funciona, mesmo com o shebang

1

Estou usando o Ubuntu 12.04 64 bits. Eu instalei recentemente o pacote ruby1.9.1 e o wx-ruby gem usando:

sudo gem install wxruby-ruby19

para instalar a versão compatível com ruby1.9.

Então eu escrevi um script ruby chamado fenetre_wx.rb (que já tem execução certa)

#!/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

Não há problema quando eu ligo

 ruby fenetre_wx.rb

Mas quando eu faço:

 ./fenetre_wx.rb

Eu recebo o seguinte erro:

bash: ./fenetre_wx.rb: Aucun fichier ou dossier de ce type

Que pode ser traduzido por:

"No file nor directory of this type" :

Eu tenho a versão francesa, mas talvez minha tradução esteja errada, então deixei o texto original.

Alguém sabe o que há de errado? Agradecemos antecipadamente.

    
por loloof64 15.10.2012 / 13:22

2 respostas

1

Por favor, certifique-se de que os finais de linha são estilo unix em seu arquivo de origem e a origem não inicia com a marca de ordem de byte. Byte order mark é uma sequência de três números hexadecimais (0xef 0xbb 0xbf) que são invisíveis através de qualquer editor. consulte esta questão do StackOverflow para obter uma solução para a marca de ordem de byte problema. e use dos2unix para conversão de finais de linha.

    
por user91091 15.10.2012 / 14:10
0

Como você mencionou nos comentários, substituir

#!/usr/bin/env ruby

com

#!/usr/bin/ruby
    
por bbaja42 15.10.2012 / 13:54