The 'ln -s' command

John-Mark Gurney gurney_j at
Tue May 23 18:27:57 PDT 2006

gs_stoller at wrote this message on Wed, May 24, 2006 at 01:21 +0000:
> I tried the 'ln -s' command in bothe 4.3  &  4.7  in a situation where it should fail and it did, but it still had a return/exit code of  0 , I think it should have been nonzero.  I tried 'ln -s  a  b' where the file  b  existed (and was a directory) and I wanted to create the file named  a  also pointing to it.  The correct form was 'ln -s  b  a'.
> FreeBSD  4.3-RELEASE FreeBSD 4.3-RELEASE #0: Sat Apr 21 10:54:49 GMT 2001     jkh at  i386
> FreeBSD  4.7-RELEASE FreeBSD 4.7-RELEASE #0: Wed Oct  9 15:08:34 GMT 2002     root at  i386

Hmm... I just tried this and I didn't see this behavior on 4.7-R:
-bash-2.05b$ ln -s a z
ln: z: File exists
-bash-2.05b$ echo $?
-bash-2.05b$ ln -s z a
-bash-2.05b$ echo $?
-bash-2.05b$ uname -a
FreeBSD 4.7-RELEASE FreeBSD 4.7-RELEASE #5: Tue Sep  9 02:05:39 PDT 2003     jmg at  i386

Looks like the EEXIST is returning non-zero...

  John-Mark Gurney				Voice: +1 415 225 5579

     "All that I will do, has been done, All that I have, has not."

More information about the freebsd-hackers mailing list