Java OS X无法分离卷,hdiutil错误

Java OS X无法分离卷,hdiutil错误,java,macos,installation,osx-elcapitan,unmount,Java,Macos,Installation,Osx Elcapitan,Unmount,我需要从命令行安装Java。这就是我正在尝试的: hdiutil attach javaforosx.dmg cd /Volumes/Java\ for\ OS\ X\ 2015-001/ sudo installer -pkg JavaForOSX.pkg -target "/" sudo hdiutil detach hdiutil detach /Volumes/Java\ for\ OS\ X\ 2015-001/ 它在最后一步失败,并显示错误消息: hdiutil: couldn't

我需要从命令行安装Java。这就是我正在尝试的:

hdiutil attach javaforosx.dmg
cd /Volumes/Java\ for\ OS\ X\ 2015-001/
sudo installer -pkg JavaForOSX.pkg -target "/"
sudo hdiutil detach hdiutil detach /Volumes/Java\ for\ OS\ X\ 2015-001/
它在最后一步失败,并显示错误消息:

hdiutil: couldn't unmount "disk2" - Resource busy
此外,如果我现在转到我的桌面并手动尝试弹出显示在Java中的磁盘映像(右键单击->弹出),它表示我无法弹出它,那么终端正在使用它。我必须关闭终端,然后才能弹出磁盘


如何从命令行正确执行此操作?

您也需要退出映像目录。如果您将
cd
更改为
pushd
,然后在执行
hdiutil分离之前,只需执行
popd
。 这将返回到您的工作目录。因此,只需将脚本更改为:

hdiutil attach javaforosx.dmg
pushd /Volumes/Java\ for\ OS\ X\ 2015-001/
sudo installer -pkg JavaForOSX.pkg -target "/"
popd
sudo hdiutil detach /Volumes/Java\ for\ OS\ X\ 2015-001/
另外,请注意,如果您已经安装了,也可以使用从命令行安装
java
。比如:

brew cask install java7

这还将处理下载详细信息,并且

您是否尝试退出映像目录(在
/Volumes/Java\for\OS\X\2015-001/
中)?啊,是的
cd
-从目录中取出解决了问题。谢谢顺便说一句,它不是完全静默的,在安装过程中仍然会显示包含pkg文件的中间窗口。安装完成后,它确实会消失,但在安装过程中仍会显示,如果命令行处于全屏模式,则在执行此操作时,屏幕会移到桌面。有没有可能逃过这一关,并且真的安静地做呢?@Cupidvogel你确定触发窗口的步骤了吗?是
dmg
finder图像浏览器还是
installer
setup窗口?您可以添加
-nobrowse
参数,它将不再在finder中显示图像。这太棒了!工作起来很有魅力!