Get the path of the .dmg from the mount point

十年热恋 提交于 2019-11-30 08:45:55

Use hdiutil info to get the information about currently mounted images. Then use hdiutil detach /Mount/Point to dismount all file systems, and detach the image.

You'll need to parse the output from hdiutil info to find the right image-path if multiple images are mounted. It will probably be more robust to use the plist output format hdiutil info -plist and run that into, say, a python script with plistlib or an AppleScript using the Property List Suite from System Events.

Here's a quick and dirty python script to give you an idea. It's easy to explore options using the python interpreter:

>>> import plistlib
>>> from subprocess import Popen, PIPE
>>> output = Popen(["hdiutil", "info", "-plist"], stdout=PIPE).communicate()[0]
>>> pl = plistlib.readPlistFromString(output)
>>> for image in pl['images']:
...   for se in image['system-entities']:
...       if se.get('mount-point') == '/Volumes/blah':
...          print image['image-path']
/Path/To/blah.dmg
janbjorn

Start Terminal, do:

$ cd /Volumes
$ hdutil info

The location of suspected dmg-files will show up under image-path

cd to that location, and do:

$ ls filename

Unmount volume in Finder, and finally in Terminal:

$ rm filename

Good luck.

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!