터미널에서 Mac OS X 버전을 찾는 방법은 무엇입니까?


답변:


211

몇 가지 옵션이 있습니다.

sw_vers -productVersion 

system_profiler SPSoftwareDataType

필요한 작업을 수행하고 구문 분석 할 수있는 출력 형식을 갖습니다 (필요한 경우).


3
첫 번째는 OS 버전 (예 : "10.7.5") 만 제공합니다. 두 번째는 32/64 비트와 같은 많은 추가 정보를 제공합니다.
Kent

1
좋은 것! 나는 lsb_release그 라인을 따라 무언가 를 찾거나 만들려고했습니다 . 그런 스크립트를 발견하지 못했을 것입니다. : D
Alastair

7

명령 sw_vers은 버전을 보여줍니다.

구형 Mac OS의 경우 Wikipedia 에서 유용한 정보를 찾을 수 있습니다 .


4

관심있는 모든 것이 주 버전 (10.10, 10.9)이라면 할 수 있습니다

MAJOR_MAC_VERSION=$(sw_vers -productVersion | awk -F '.' '{print $1 "." $2}')

10.8.x, 10.9.x 및 현재 10.10에서 실행되는 경우 다른 작업을 수행 해야하는 몇 가지 스크립트에서 이것을 사용합니다.


3
더 간단한 :sw_vers -productVersion | cut -d '.' -f 1,2
waldyrious

2

스크립트 로직의 시맨틱 버전 관리를 기반으로 macOS 버전 번호를 분할하려는 경우 사용하는 작은 코드 조각이 있습니다.

product_version=$(sw_vers -productVersion)
os_vers=( ${product_version//./ } )
os_vers_major="${os_vers[0]}"
os_vers_minor="${os_vers[1]}"
os_vers_patch="${os_vers[2]}"
os_vers_build=$(sw_vers -buildVersion)

# Sample semver output
echo "${os_vers_major}.${os_vers_minor}.${os_vers_patch}+${os_vers_build}"
# 10.12.6+16G29

스크립트 논리에서 이러한 변수를 사용하여 macOS 버전에 따라 다른 명령을 실행할 수 있습니다. 이것은 패치 나 빌드 버전에 대해 좀 더 세밀한 제어를 제공합니다.

# Sample bash code
if [[ ${os_vers_minor} -ge 11 ]]; then
    DMG_FORMAT=ULFO
elif [[ ${os_vers_minor} -ge 4 ]]; then
    DMG_FORMAT=UDBZ
else
    DMG_FORMAT=UDZO
fi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.