我们的用户编写了一个 shell 脚本来将应用程序复制到 OSX 上的 /Applications 文件夹中。第一次效果很好,但第二次出现错误。这是一个新的开发,在我们更改应用名称之前它显然可以正常工作。
shell 脚本运行以下命令:
cp -a ApplicationName.app /Applications
open -a '/Applications/ApplicationName.app/Contents/MacOS/ApplicationName' --args -LSRC autolaunch
第一次运行时,它运行良好,应用程序被复制过来,然后启动。第二次返回时出现以下错误
[jrivera@chamomile] $ 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),但得到了同样的结果。有任何想法吗?也许这是闪闪发光的奇怪东西?