Utilice hdiutil info
para obtener información acerca de las imágenes montadas actualmente. Luego, use hdiutil detach /Mount/Point
para desmontar todos los sistemas de archivos y separar la imagen.
Deberá analizar la salida de hdiutil info
para encontrar la ruta de la imagen correcta si se montan varias imágenes. Probablemente sea más robusto usar el formato de salida plist hdiutil info -plist
y ejecutarlo en, digamos, una secuencia de comandos python con plistlib o un AppleScript usando Property List Suite
desde System Events
.
Aquí hay una secuencia de comandos python rápida y sucia para hacerte una idea. Es fácil de explorar las opciones usando el intérprete de Python:
>>> 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
No creo que vayas a obtener una sugerencia AppleScript o basada en shell porque probablemente tendrás que hablar con el controlador, o al menos con su agente de usuario, para eso. –
Pensé que podría haber algo como hdiutil o diskutil que podría ayudar, o tal vez una propiedad de Finder en las imágenes de disco montadas. – wbg