How to create a symbolic link in Mac OSX

aliasbashosx-snow-leopardterminal

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?

Best Answer

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"

Related Question