Re: /bin/env

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]



On Fri, Dec 10, 2010 at 2:20 PM, James B. Byrne <byrnejb@xxxxxxxxxxxxx> wrote:
> Please forgive my ignorance but I need a explanation of how to
> accomplish the following since I cannot figure it out from the
> documents.
>
> I have a Ruby script with a shebang line that looks like this:
>
> #!/usr/bin/env ruby
>
> On one particular host I have two Ruby interpreters installed; one
> the CentOS base version 1.8.6 in /usr/bin/ruby the other version
> 1.8.7 in /usr/local/bin/ruby.  In my shell the which command finds
> /usr/local/bin/ruby.  In a cron job the /usr/bin/ruby is used by the
> /bin/env invocation.
>
> My question is: How does one configure /bin/env to return the
> /usr/local/bin/ruby version?  or does that question even make sense?
>
> I have looked at the alternatives command but that seems just a tad
> involved.  And since this is a production server I am not quite
> ready to trust to RVM either.
>
> In the short term I have simply removed the CentOS version which has
> resolved the immediate issue.  However, I would like to know how to
> handle this a little more elegantly in future.


I'm not sure who came up with the "/usr/bin/env" thing (though I
understand what they were trying to do), but it's exceedingly stupid.
Even the smallest bit of testing would have easily revealed these
kinds of problems with it.  The solution is to simply not use it and
directly invoke the interpreter.
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos



[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux