我正在使用MAC OSX 10.8 Mountain Lion。
我正准备一个Shell脚本来逐个启动3个dmg文件。
我想在安装另一个dmg之后每个启动dmg文件。
我在脚本中使用了wait函数,但它一直在等待一个dmg关闭。
请建议任何解决方案。
答案 0 :(得分:8)
这里有一种方法可以为每个卷打开dmg文件,复制应用程序并卸载卷:
for f in *.dmg: do
VOLUME=$(hdiutil attach "$f" | tail -1 | awk '{print $3}')
cp -r "$VOLUME/"*.app /Applications/
diskutil unmount "$VOLUME"
done
在dmg文件的目录中运行。
答案 1 :(得分:3)
查看Mac OS X open命令。它会根据后缀自动打开包含已注册Mac程序的文件。
$ open foo.dmg # Opens and mounts the disk image in Finder.
它返回到终端中的当前进程,因此您的shell脚本可以继续(尽管Mac上的活动应用程序将是Finder)。您可以使用umount /Volumes/<image name>
来卸载磁盘映像。 Word'o Warning : Volume 的名称可能与DMG文件的名称不同。