Noob: How to make my script executable on unix?

Hey All,

At a bash prompt, if I say ‘which ruby’, I get back
‘/opt/csw/bin/ruby’.

So I write a 2-line test script (test.rb):
#!/opt/csw/bin/ruby
puts(“It works!”)

And I do a ‘chmod +x test.rb’.

But when I thereafter say ‘test.rb’, bash comes back with:
bash: ./test.rb: bad interpreter: No such file or directory

What am I doing wrong?

Thanks!

-Roy

Hah–right you are–thanks! I’m actually on solaris, but writing my
script on windows (ultraedit) and saving to a samba share. Ultraedit
has a ‘DOS -> Unix’ conversion, but it doesn’t seem to affect the
executability of my script. :frowning: But if I write the same lines to a new
file in pico, then it works.

Thanks!

-Roy

[email protected] wrote:

But when I thereafter say ‘test.rb’, bash comes back with:
bash: ./test.rb: bad interpreter: No such file or directory

What am I doing wrong?
Are you sure it can not be a CR/LF problem (or some other trailing
invisible stuff)? This is probably the most frequent cause of this
problem (e.g. when moving the script from win32 to linux - but since I
guess you are on linux only - well, I don’t know)

Otherwise, what you are doing seems fine to me…

Cheers,
Peter

__
http://www.rubyrailways.com