이 정보 sw_ver
를 찾는 데 사용할 수 있음을 알고 있습니다 .
ProductName: Mac OS X
ProductVersion: 10.14
BuildVersion: 18A353d
… 저는 uname
OS에 대한 몇 가지 유형의 정보를 system_profiler SPSoftwareDataType
제공 하고 추가 정보를 제공 할 수 있는 것과 같은 다른 것들을 찾을 수 있다는 것을 알고 있지만 위의 이미지에서 “Mojave”와 같은 “친숙한”이름을 찾고 싶습니다.
쉘 / 터미널 / bash / etc를 사용하여“친숙한”이름을 어떻게 찾을 수 있습니까?
지금까지 Google fu가 솔루션을 설정하지 못했습니다. 모든 결과는 위에서 언급 한 명령으로 돌아 오는 것처럼 보이지만 올바른 정보를 제공하는 것은 없습니다.
어딘가에 있어야하는데 … 어떻게 찾을 수 있습니까?
답변
오프라인 방법
이 명령은 찾고있는 것을 찾아야합니다.
awk '/SOFTWARE LICENSE AGREEMENT FOR macOS/' '/System/Library/CoreServices/Setup Assistant.app/Contents/Resources/en.lproj/OSXSoftwareLicense.rtf' | awk -F 'macOS ' '{print $NF}' | awk '{print substr($0, 0, length($0)-1)}'
여기에 있는 답변을 기반으로합니다 . High Sierra에서 작동하도록 테스트되었으며 Mojave에서 작동해야합니다.
온라인 방법
온라인에서이 작업을 수행 할 수도 있습니다 (실제로 질문에 표시된 “Mac 정보”대화 상자가 표시됨).
curl -s https://support-sp.apple.com/sp/product?edid=$( sw_vers -productVersion ) | xmllint --format -xpath "//root/configCode/text()" -
이 명령은 사용자의 poduct 버전으로 Apple 서버를 조회하고 XML 응답에서 OS 이름을 추출합니다. 전체 XML 응답을 보려면 다음 --xpath "//root/configCode/text()"
옵션을 생략하십시오 .
curl -s https://support-sp.apple.com/sp/product?edid=$( sw_vers -productVersion ) | xmllint --format -
응답:
<?xml version="1.0" encoding="utf-8"?>
<root>
<name>CPU Name</name>
<configCode>macOS High Sierra</configCode>
<locale>en_US</locale>
</root>
답변
set _delim to AppleScript's text item delimiters
set AppleScript's text item delimiters to "."
set os_version to the second item of (the text items of (do shell script "sw_vers -productVersion"))
set AppleScript's text item delimiters to _delim
set osList to { "Puma", "Cheetah", "Jaguar", "Panther", "Tiger", "Leopard", "Snow Leopard",¬
"Lion", "Mountain Lion", "Mavericks", "Yosemite", "El Capitan", "Sierra", "High Sierra"}
return item (os_version+1) of osList
그게 예입니다.
답변
글쎄, 나는 마침내 해결책을 찾기를 포기했다. 아마도 모하비가 최종 릴리스에 도달 한 후에 하나를 찾을 수 있지만, 이전 버전의 Mac OS X / OS X / macOS에서는 쉽게 사용되지 않을 것입니다.
따라서 Marc Wilson의 아이디어 (위)를 대신하여 모든 버전 번호와 “친숙한 이름” 의 전체 목록을 출력 하거나 특정 이름을 검색 할 수있는 쉘 스크립트를 만들었습니다. “Yosemite”라는 버전을 알고 싶다면
내 스크립트는 https://github.com/tjluoma/macosxnames/blob/master/macosxnames.sh 에서 찾을 수 있습니다.
외부 스크립트가 필요없는 솔루션을 찾을 수 있도록 질문을 열어 두겠습니다.