Na verdade, não falha. Cria o seu link dentro do diretório indicado:
% mkdir dir_1 dir_2
% ln -s dir_1 symlink_dir
% ln -s dir_2 symlink_dir
% ls -l
total 0
drwxr-xr-x 2 user group 60 Oct 16 12:47 dir_1
drwxr-xr-x 2 user group 40 Oct 16 12:47 dir_2
lrwxrwxrwx 1 user group 5 Oct 16 12:47 symlink_dir -> dir_1
% ls -l dir_1
total 0
lrwxrwxrwx 1 user group 5 Oct 16 12:47 dir_2 -> dir_2
Esse comportamento é descrito na manpage:
ln [OPTION]... TARGET... DIRECTORY (3rd form)
...
In the 3rd and 4th forms, create links to each TARGET in DIRECTORY.
No entanto, esse link falha ao vincular de volta a dir_2, pois não está definido corretamente. Este também é um comportamento esperado e não deve falhar. A partir do manpage:
Symbolic links can hold arbitrary text; if later resolved, a relative link is interpreted in relation to its parent directory.
A propósito, funciona da mesma maneira para mim mesmo com -sv
. Talvez você esteja usando uma implementação diferente de ln
. Tem certeza de que não está usando -T
? Talvez isso esteja definido no seu ~/.bashrc
/ ~/.zshrc
/ etc. Experimente which ln
.