/usr/bin/ln 的運作方式已變成符合 SVID3 到 XCU6 的所有標準。如果不搭配 -f 選項使用 ln 指令連結到現有目標檔案,便不會建立此連結。相反地,診斷訊息會寫入到標準錯誤,而且指令會繼續連結任一個留存的來源檔。最後, ln 指令會結束,並會產生一個錯誤值。
例如,如果檔案 b 存在,則語法 ln a b 會產生下列訊息:
ln: b: File exists |
此運作方式的變更會影響現有 shell 程序檔或其中包含未帶有 -f 選項之 ln 指令的程式。過去可以使用的的程序檔現在在 Solaris 10 作業系統中可能無法運作。
解決方法: 以 -f 選項搭配 ln 指令一起使用。如果現有的程序檔是用於執行連結公用程式,請務必修改這些程序檔以符合指令的新運作方式。