我們的用戶編寫了一個shell腳本來將應用程序複製到OSX上的/ Applications文件夾中。它第一次效果很好,但第二次出現錯誤。這是一個新的發展,在我們更改應用程序名稱之前,它顯然已經正常工作。Shell腳本CP無法覆蓋目錄
shell腳本運行如下:
cp -a ApplicationName.app /Applications
open -a '/Applications/ApplicationName.app/Contents/MacOS/ApplicationName' --args -LSRC autolaunch
它第一次運行時,它工作正常,應用程序在複製,然後將其啓動。第二次它帶回以下錯誤
[[email protected]] $ sudo ./InstallScript.sh /SRNM ABC1234567
cp: cannot overwrite directory /Applications/ApplicationName.app/Contents/Frameworks/Sparkle.framework/Headers with non-directory ApplicationName.app/Contents/Frameworks/Sparkle.framework/Headers
cp: cannot overwrite directory /Applications/ApplicationName.app/Contents/Frameworks/Sparkle.framework/Resources with non-directory ApplicationName.app/Contents/Frameworks/Sparkle.framework/Resources
cp: cannot overwrite directory /Applications/ApplicationName.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj with non-directory ApplicationName.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/fr_CA.lproj
cp: cannot overwrite directory /Applications/ApplicationName.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/pt.lproj with non-directory ApplicationName.app/Contents/Frameworks/Sparkle.framework/Versions/A/Resources/pt.lproj
cp: cannot overwrite directory /Applications/ApplicationName.app/Contents/Frameworks/Sparkle.framework/Versions/Current with non-directory ApplicationName.app/Contents/Frameworks/Sparkle.framework/Versions/Current
我不完全確定爲什麼發生這種情況。它是完全相同的位置完全相同的腳本,相隔30秒完全相同的東西。我挖入每個目錄和文件都顯示完全相同的文件類型。我試圖向cp添加其他命令來強制它(-RfXv),但得到了同樣的結果。有任何想法嗎?也許這是一個奇怪的事情閃閃發光?