When my current working directory is `/foo` and contains `bar` and I need
`/example/bar` to be a symlink to `/foo/bar`, it seems intuitive that `ln
-s bar /example/bar` should accomplish that. But it doesn't; instead it
makes `/example/bar` a symlink that points to itself, because `ln -s` makes
relative paths relative to the symlink's location rather than (like all
other coreutils commands I know of) relative to the current directory.

It seems to me it should be easy enough to alert users to this gotcha by
printing a warning to stderr when creating a symlink whose location is an
absolute path and whose target isn't. But not only doesn't that warning
occur, but there isn't even an entry for it at
https://www.pixelbeat.org/docs/coreutils-gotchas.html. This sort of thing
seems to me to be a likely huge turnoff for non-technical people who might
otherwise be using Linux on the desktop. Can we please implement this
warning?

Sincerely,
Chris Hennick

Reply via email to