명령줄에서 현재 사용 중인 OS X 버전을 어떻게 알 수 있나요?

명령줄에서 현재 사용 중인 OS X 버전을 어떻게 알 수 있나요?

저는 다양한 OS X 시스템에 SSH로 접속하는 경우가 많습니다. 이 작업을 수행할 때 어떤 버전의 OS XI가 사용 중인지 알 수 있다면 유용할 것입니다. uname -aDarwin 커널 버전이 시스템의 나머지 부분과 함께 항상 변경되는 것은 아니기 때문에 제대로 작동하지 않습니다.

답변1

sw_vers

내 제안은 sw_vers. 10.6.4 기준 출력 예:

> sw_vers 
ProductName:    Mac OS X
ProductVersion: 10.6.4
BuildVersion:   10F569

제안한 답변 system_profiler | grep 'System Version'은 제가 과거에 사용해 본 답변인데 2가지 문제점이 있습니다.

  1. 모든 하드웨어 및 소프트웨어 인벤토리 정보를 수집하여 시스템의 전체 system_profiler 덤프를 생성하므로 속도가 느립니다.
  2. system_profiler의 출력은 시간이 지남에 따라 변경되었습니다. 예를 들어 10.6.4의 '일련 번호' 출력은 grep"일련 번호(시스템): ZNNNNNZNZZZ"인 반면, 10.4.11에서는 "일련 번호: ZNNNNZNZZZZ"였습니다. 출력의 구문 분석 가능성과 " (시스템)' 부분은 변경을 기대하지 않는 한 문제가 될 수 있습니다.

답변2

가장 쉬운 방법은 다음과 같습니다.

$ sw_vers -productVersion
10.6.4

에서http://tinyapps.org/blog/mac/201008140700_os_x_version_terminal.html:

$ sw_vers
ProductName:    Mac OS X
ProductVersion: 10.6.4
BuildVersion:  
10F569
$ sw_vers -productVersion
10.6.4

실행 중인 OS X 버전에 따라 방법이 다르기 때문에 단일 사용자 모드에서 비밀번호를 재설정할 때 특히 유용합니다.

답변3

이 시도:

 system_profiler  | grep 'System Version'

Mike Gray의 답변이 이것보다 낫습니다. 그거 봐주세요

답변4

system_profiler으로 실행될 수 있습니다 system_profiler SPSoftwareDataType. 거대한 출력을 통해 grep할 필요가 없습니다.

관련 정보