7

scenario :

  1. I'm in a place that is not in PATH
  2. I have a file name dofoo that is executable
  3. I want to create symbolic link in /usr/bin that points to dofoo in current directory

quite hard to get the basics. I can do with

$ cd /usr/bin
$ sudo ln -s /previous/path/dofoo
$ cd /previous/path

but I'd like to be this done with single command. here's what I have tried(assuming I'm in /previous/path):

$ sudo ln -s dofoo /usr/bin/dofoo
$ /usr/bin/dofoo
bash: /usr/bin/dofoo: Too many levels of symbolic links

1 Answer 1

8

The command should look like

sudo ln -s $PWD/dofoo /usr/bin

This will produce the expected result. The manpage is a bit unclear about TARGET (at least to me).

2
  • +1. the content of a symbolic link is the path to the target file, so always provide the absolute or relative path, not just the program name. Commented May 29, 2013 at 2:41
  • Fantastic answer! This is useful in soooo many places and I've spent hours dealing with the consequences of not knowing this. Just shows, if you ask the right questions... Thanks Commented Apr 3, 2014 at 8:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .