Joel VanderWerf
6/12/2009 10:11:00 PM
Joel VanderWerf wrote:
>
> FileUtils.ln_s is supposed to do this:
>
> ln_s(old, new, options = {})
>
> Creates a symbolic link new which points to old. If new already
> exists and it is a directory, creates a symbolic link +new/old+.
> If new already exists and it is not a directory, raises
> Errno::EEXIST. But if :force option is set, overwrite new.
>
> But in this case something is wrong:
>
> $ mkdir foo
> $ echo 1>t.rb
> $ ruby -r fileutils -e 'FileUtils.ln_s "t.rb", "foo/t.rb"'
> $ ls -l foo
> total 0
> lrwxrwxrwx 1 vjoel vjoel 4 2009-06-12 14:47 t.rb -> t.rb
>
> Why is this a cyclic link?
Bah, that's the way ln(1) behaves, and I forgot. Moral of the story,
it's a _symbolic_ link; #ln_s just creates a link to the string you give
it, without relativizing to the current dir or anything.
--
vjoel : Joel VanderWerf : path berkeley edu : 510 665 3407