The behavior of /usr/bin/ln has changed to adhere to all of the standards from SVID3 through XCU6. If you use the ln command without the -f option to link to an existing target file, the link is not established. Instead, a diagnostic message is written to standard error, and the command proceeds to link any remaining source files. Finally, the ln command exits with an error value.
For example, if file b exists, the syntax ln a b generates the following message:
ln: b: File exists
This behavior change affects existing shell scripts or programs that include the ln command without the -f option. Scripts that used to work might now fail in Solaris 10 OS.
Workaround: Use the -f option with the ln command. If you have existing scripts that execute the link utility, make sure to modify these scripts to comply with the command's new behavior.