/usr/bin/ln の動作は、SVID3 から XCU6 までのすべての標準に準拠するように変更されました。-f オプションの付かない ln コマンドを使用して既存のターゲットファイルにリンクすると、リンクは確立されません。代わりに、診断メッセージが標準エラーに書き込まれ、残りのリンク元ファイルのリンクが続行されます。最後に、ln コマンドはエラー値を返して終了します。
たとえば、ファイル b がある場合、構文 ln a b を実行すると、次のメッセージが生成されます。
ln: b: ファイルが存在します。 |
この動作変更は、-f オプションの付かない ln コマンドを含む既存のシェルスクリプトやプログラムに影響します。このため、以前正常に動作していたスクリプトが Solaris 10 OS では失敗することがあります。
回避方法: ln コマンドには -f オプションを付けて使用してください。ln ユーティリティーを実行する既存のスクリプトがある場合は、必ずコマンドの新しい動作に適合するようにこれらのスクリプトを変更してください。