我有以下脚本可以从终端安装 Mac 包:
#!/bin/sh
if [ -d /Applications/XX.app ]; then
hdiutil mount XX.dmg
cd /Volumes/XX
sudo installer -pkg XX.pkg -target /
cd ..
hdiutil unmount XX
fi
有时它可以正常工作,但有时会出现错误:
hdiutil: unmount: "XX" failed to unmount due to error 49168.
hdiutil: unmount failed - Resource busy
实际上,几秒钟后,XX 变得无法挂载。我意识到这可能是由于“安装程序”的延迟,在调用“卸载 XX”时尚未完成。无论如何要在“安装程序”和“卸载”之间进行同步?