Holen Sie sich den Pfad der .dmg vom Einhängepunkt
Frage
ich nach einer Möglichkeit, den .dmg-Pfad eines montierten Disk-Image zu bekommen mit nur Punkt montieren.
Ich mag einen „einfachen“ Finder-Dienst schreiben, die das Disk-Image ausstößt und trashes die begleitende .dmg. Das Auswerfen ist trivial, aber ich bin ratlos, wie Sie den Pfad der .dmg, um herauszufinden, angesichts der gerade Mount-Punkt.
diskutil scheint nicht zu wissen, oder ist nicht zu sagen.
Es ist für ein Skript, so AppleScript- oder Shell-basierten Vorschläge bevorzugt werden.
Lösung
Verwenden hdiutil info
die Informationen erhalten über die aktuell Bilder montiert. Dann
Verwendung hdiutil detach /Mount/Point
alle Dateisysteme zu demontieren, und das Bild abzulösen.
Sie müssen die Ausgabe von hdiutil info
analysieren den richtigen Bild-Pfad zu finden, wenn mehrere Bilder montiert sind. Es wird wahrscheinlich robuster sein, die plist Ausgabeformat hdiutil info -plist
und führen zu verwenden, die in, sagen wir, ein Python-Skript mit plistlib oder ein Applescript die Property List Suite
von System Events
verwendet wird.
Hier ist ein schneller und schmutziger Python-Skript, um Ihnen eine Idee zu geben. Es ist einfach, das Python-Interpreter zu erkunden Optionen:
>>> 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
Andere Tipps
Starten Sie Terminal tun:
$ cd /Volumes
$ hdutil info
Die Lage des Verdachts dmg-Dateien werden unter Bildpfad angezeigt
cd
an dieser Stelle, und zu tun:
$ ls filename
Aushang Volumen im Finder, und schließlich im Terminal:
$ rm filename
Viel Glück.