"ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Nathan O. » Sat, 11 Mar 2006 05:35:40 GMT
I have a script. When I run it via "ruby myscript.rb", it works great.
When I run it via "./myscript.rb", it complains:
: No such file or directory.
The top of the file starts with "#!/usr/bin/env ruby", which works for
other scripts in the same directory. I know it's spelled right. And the
file is set executable.
The colon (":") at the start of the error message makes me think it's
looking for a file with no name when it should be looking for my script.
Again, the script works great when run as a param to the "ruby..."
command.
--
Posted via http://www.**--****.com/
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Michael Gorsuch » Sat, 11 Mar 2006 05:51:31 GMT
Did you "chmod +x" the script?
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Michael Gorsuch » Sat, 11 Mar 2006 05:53:04 GMT
Sorry. I just noticed that it is already executable.
What if you use the path straight to the ruby interpreter, and not /usr/bin/env?
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Nathan Olberding » Sat, 11 Mar 2006 06:03:47 GMT
> What if you use the path straight to the ruby interpreter, and not
Very interesting! When I change /usr/bin/env ruby to /usr/bin/ruby
(which is where the binary is), I get:
: bad interpreter: No such file or directory
--
Posted via http://www.**--****.com/
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Michael Gorsuch » Sat, 11 Mar 2006 06:07:57 GMT
wtf?
There isn't any whitespace or blank lines before:
#!/usr/bin/ruby
is there?
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by rmagick@gmail.com » Sat, 11 Mar 2006 06:13:27 GMT
Whenever I get weird messages like this it always turns out to be a
problem with line endings. By any chance did you last save the file on
a Windows system?
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Nathan Olberding » Sat, 11 Mar 2006 06:14:42 GMT
I'm glad we're on the same page. :-) Now I don't feel so alone!
nathan@vm1:~/public_html$ head -1 myscript.rb
#!/usr/bin/ruby
nathan@vm1:~/public_html$
Nada.
--
Posted via http://www.**--****.com/
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Jonathan Hudson » Sat, 11 Mar 2006 06:17:20 GMT
Your script has been on a Windows box or otherwise polluted with a \r
(Carriage return) after ruby?
The kernel can't find /usr/bin/ruby\r
-jonathan
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Anthony DeRobertis » Sat, 11 Mar 2006 06:21:03 GMT
Windows-style line endings?
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Nathan Olberding » Sat, 11 Mar 2006 06:29:45 GMT
> Your script has been on a Windows box or otherwise polluted with a \r
That's it, that's the one. I had this problem with another script the
other day. It "went away" after I did a whole bunch of stuff. This
must've been it.
2006, and we're still dealing with line endings :-)
How do I convert it?
--
Posted via http://www.**--****.com/
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Mike » Sat, 11 Mar 2006 06:33:03 GMT
Try dos2unix
-M
--
Posted via http://www.**--****.com/
Re: "ruby myscript.rb" Works, "./myscript.rb" Doesn't
by Nathan Olberding » Sat, 11 Mar 2006 06:36:58 GMT
I saved it using nano and it's working now.
Thanks, all!
--
Posted via http://www.**--****.com/