I have a .sh file that I need to create a symbolic link. I would like to be able to access the file using the Terminal.

The command I use is ln -s /path/roo.sh /usr/bin/roo

But when I type roo, it says command not found. If I type /path/roo.sh, it works. Am I missing a step somewhere?

link|improve this question

75% accept rate
Can you verify that /usr/bin/roo exists? – poplitea Oct 13 '11 at 17:07
feedback

4 Answers

up vote 2 down vote accepted

What you did should work. Troubleshooting:

  1. Are you under root? Did ln command actually succeed? Verify with ls -l /usr/bin/roo which should list the newly created link. If the link is not there, add "sudo " before ln to execute it as root (sudo will prompt for root's password):

    sudo ln -s /path/roo.sh /usr/bin/roo

  2. Sometimes bash remembers where a certain executable is, and will not search in other locations. Enter hash -r to make it forget, and then try roo again.

  3. "/usr/bin" should definitely be in your PATH, but it won't hurt to verify: echo $PATH should include "/usr/bin"

link|improve this answer
What I did wrong was that I use the current directory as the path ./folder1/folder2/roo.sh and when i type ls -l /usr/bin/roo, it shows that error. Thanks for that good tip haimg :) – Yko Oct 13 '11 at 17:41
feedback

If you are trying to use roo as a command ou might want to look at the alias command.

In this case you would do :

alias roo="path to roo"

to call it you will just need to do roo

For example

alias test="ruby /Users/user/Desktop/test.rb"
link|improve this answer
feedback

I think the symlink is did not created, as you can do this only with sudo from the terminal. Please check /usr/bin/roo is exists.

If exists, please try echo ${PATH} command, it shows you the folders where the shell search you command. If it does not contains /usr/bin, then try to fix it with adding export PATH="${PATH}:/usr/bin" into your ~/.profile

link|improve this answer
feedback

Maybe your /usr/bin-path isn't cached before you log out from the terminal and then back in again. Try that!

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.