[#407882] Ruby extremely slow compared to PHP — Mick Jagger <lists@...>

Hello there, how are you? Hope you are fine. I am a PHP programmer

17 messages 2013/06/02

[#407908] TCPServer/Socket and Marshal problem — Panagiotis Atmatzidis <atma@...>

Hello,

18 messages 2013/06/03

[#407946] Is rubyquiz.com dead? — Alphonse 23 <lists@...>

Thread title says everything.

18 messages 2013/06/04

[#408012] Need help understanding recursion. — pedro oliva <lists@...>

Ive been reading Chris Pine's book 'Learn to Program' and its been going

11 messages 2013/06/06

[#408129] Getting Started With Development — Chamila Wijayarathna <cdwijayarathna@...>

I'm new to Ruby Development. I downloaded source from Github, but couldn't

24 messages 2013/06/11
[#408131] Re: Getting Started With Development — Per-erik Martin <lists@...> 2013/06/11

Ruby is often installed on linux, or can be easily installed with the

[#408146] Re: Getting Started With Development — "Chamila W." <lists@...> 2013/06/11

Per-erik Martin wrote in post #1112021:

[#408149] Re: Getting Started With Development — "Carlo E. Prelz" <fluido@...> 2013/06/11

Subject: Re: Getting Started With Development

[#408198] NokoGiri XML Parser — "Devender P." <lists@...>

Hi,

11 messages 2013/06/13

[#408201] trying to load a .rb file in irb — "Eric D." <lists@...>

I am trying to load a ruby program into irb and it will not load.

12 messages 2013/06/13

[#408205] Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...>

Hell Team,

18 messages 2013/06/13
[#408219] Re: Can I use Sinatra to render dynamic pages? — Nicholas Van Weerdenburg <vanweerd@...> 2013/06/14

You should be able to do this without JavaScript by using streaming.

[#408228] Re: Can I use Sinatra to render dynamic pages? — Ruby Student <ruby.student@...> 2013/06/14

Well, I got some good suggestions from everyone here. I thank you all for

[#408275] Compare and sort one array according to another. — masta Blasta <lists@...>

I have two arrays of objects that look something like this:

14 messages 2013/06/17

[#408276] Comparing objects — "Thom T." <lists@...>

How do I compare two objects in Ruby, considering only attributes

15 messages 2013/06/17

[#408307] getting the most out of Ruby — robin wood <lists@...>

I write a lot of scripts in Ruby, most are small simple things but some

13 messages 2013/06/18

[#408309] Creating ruby script exe — Rochit Sen <lists@...>

Hi All,

17 messages 2013/06/18

[#408357] Beginners problem with database and datamapper — cristian cristian <lists@...>

Hi all!

28 messages 2013/06/20

[#408437] How do I input a variable floating point number into Ruby Programs — "Michael P F." <lists@...>

I want to evaluate the following interactively:

10 messages 2013/06/23

[#408518] #!/usr/bin/env: No such file or directory — Todd Sterben <lists@...>

I am new to both linux and ruby. I am using Ubuntu and Ruby 1.9

17 messages 2013/06/27

[#408528] Designing a Cabinet class — Mike Vezzani <lists@...>

Hello all,

12 messages 2013/06/27

[#408561] Find elment in array of hashes — Rodrigo Lueneberg <lists@...>

array = {:id=>1, :price =>0.25} # index[0]

23 messages 2013/06/28

Re: #!/usr/bin/env: No such file or directory

From: Kendall Gifford <zettabyte@...>
Date: 2013-06-28 02:39:32 UTC
List: ruby-talk #408550
On Thu, Jun 27, 2013 at 7:55 PM, Todd Sterben <lists@ruby-forum.com> wrote:

> Thanks for the responses.  I should have been a bit more clear about my
> UNIX skills.  Not great, but I can move around and set permissions and
> look at things like environment variables.  So I had already set things
> to execute.  I still can't see what is up.  Here is the code(again) and
> files and symbolic links & path & permissions
>
> Here is my beautiful code:
>
> #!/usr/bin ruby
>

Change that to: #!/usr/bin/env ruby


>
> puts "Hello world!"
>
> which produces these errors:
>
> ./test.rb: line 1: =EF=BB=BF#!/usr/bin: No such file or directory
> ./test.rb: line 3: puts: command not found
>
> /usr/bin is in PATH so it should not have a problem there:
>
> /usr/lib/lightdm/lightdm:
> /usr/local/sbin:
> /usr/local/bin:/usr/sbin:
> /usr/bin:/sbin:/bin:
> /usr/games:
> /usr/bin/ruby
>
> ruby points, through symbolic links, to /usr/bin/ruby1.9.1
>
> lrwxrwxrwx 1 root root   22 Jun 20 16:30 ruby -> /etc/alternatives/ruby
>
> lrwxrwxrwx 1 root root 18 Jun 20 16:30 ruby -> /usr/bin/ruby1.9.1
>
>
> -rwxr-xr-x 1 root root 5552 Mar 22 12:14 ruby1.9.1
>
> And the code is here:
>
> -rwxrwxrwx 1 john john 41 Jun 27 18:41 test.rb
>
> I am going to /home/john to run the file ./test.rb
>
> And everything is executable
>
> --
> Posted via http://www.ruby-forum.com/.
>

Everything looks fine except for the one change I mentioned above.

With the shebang line, you are telling bash to execute "/usr/bin/env",
passing it one parameter, "ruby". The "env" program will then launch the
appropriate "ruby" executable.

The reason for this is that "shebang" line must specify a complete path to
an executable (either an absolute path or one relative to the current
working directory; relative paths are problematic though so everyone uses
absolute paths). Since the "ruby" executable may be installed in a
different location on different systems, the convention is to instead run
ruby via the "env" command for which it is safe to assume it'll be
available in the /usr/bin directory.

The "env" command lets you run other commands in a modified environment.
However, in this case, it's just being used for the fact that it'll look up
whatever command you tell it to run using the PATH environment variable.
So, as long as an executable (or a symlink to one) is in one of the
directories in your PATH (which is the case on your system) then "env" can
run it.

You can try it manually inside your shell (the "^D" mean, type CTRL-D; you
won't actually see the "^D" characters):

$ /usr/bin/env ruby
puts "Hi"
^D
Hi
$

The above runs ruby which reads it's input (ruby code) from the terminal.
The CTRL-D tells ruby it's reached the end of the file so it will exit, at
which point it will run whatever ruby code you entered (outputting "Hi" to
the terminal).

--=20
Kendall Gifford
zettabyte@gmail.com

In This Thread