Il comando ioreg
può essere utilizzato per questa attività.
ioreg -d2 -c IOPlatformExpertDevice | awk -F\" '/IOPlatformUUID/{print $(NF-1)}'
Allo stesso modo, puoi ottenere le stesse informazioni in un formato Elenco delle proprietà (plist / xml) includendo l'opzione -a
che è utile per le implementazioni che funzionano meglio con XML. Un esempio di riga di comando sarebbe utilizzare xmllint --xpath
ioreg -ad2 -c IOPlatformExpertDevice |
xmllint --xpath '//key[.="IOPlatformUUID"]/following-sibling::*[1]/text()' -
Spesso vedo il comando system_profiler
utilizzato per questa attività, tuttavia, ho trovato che il metodo ioreg
è leggermente più veloce se le prestazioni sono un problema.
time system_profiler SPHardwareDataType | awk '/UUID/ { print $NF }'
real 0m0.295s
user 0m0.110s
sys 0m0.074s
time ioreg -d2 -c IOPlatformExpertDevice | awk -F\" '/IOPlatformUUID/{print $(NF-1)}'
real 0m0.029s
user 0m0.005s
sys 0m0.004s