O comando system_profiler fornece uma resposta direta que é facilmente legível por humanos (supondo que você esteja na versão 10.3 ou mais recente), mas você também pode usar o ioreg para a tarefa, pois ela geralmente é concluída mais rapidamente.
system_profiler SPHardwareDataType
é o tipo de dados que contém as informações principais de hardware e você pode usar grep ou awk para analisar as coisas ainda mais, conforme necessário:
system_profiler SPHardwareDataType | awk '/Serial/ {print $4}'
ou
ioreg -l | awk '/IOPlatformSerialNumber/ { print $4;}'
Esses dois comandos demoram entre 0,5 e 0,2 segundos para serem executados nos Macs SSD modernos; portanto, se você deseja otimizar o comando e remover o ", você pode ter sua resposta em 0,005s ou mais:
ioreg -c IOPlatformExpertDevice -d 2 | awk -F\" '/IOPlatformSerialNumber/{print $(NF-1)}'
ioreg
um está perto instantânea no meu MBPR.system_profiler
embora mais rápido neste mac do que os meus mais antigos seja muito mais lento.Isso também funciona…
fonte
awk
versão remover as 600 linhas deioreg
saída que não queremos ver. (também - não me importo os eleitores para baixo - algumas pessoas realmente não gosto de respostas curtas ou esquecer que nem todos sabem como grep e trabalho awk.)Para facilitar a lembrança, use uma pesquisa que não diferencia maiúsculas de minúsculas:
fonte
Exemplo de C ++:
fonte