Làm thế nào để tìm ra phiên bản Mac OS X từ Terminal?


150

Tôi biết cách tìm phiên bản Mac OS X từ GUI: Apple Menu (top left) > About This Mac

Có lệnh Terminal nào sẽ cho tôi biết phiên bản Mac OS X không?

Câu trả lời:


211

Bạn có một vài lựa chọn:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

Hoặc sẽ làm những gì bạn cần và sẽ có định dạng đầu ra có thể phân tích cú pháp (nếu đó là những gì bạn đang theo đuổi).


3
Phiên bản đầu tiên chỉ cung cấp cho bạn phiên bản HĐH (tức là "10.7.5"). Cái thứ hai cung cấp cho bạn rất nhiều thông tin bổ sung như 32/64-bit.
Kent

1
Đẹp quá Tôi sẽ tìm kiếm lsb_releasehoặc một cái gì đó dọc theo những dòng đó. Không bao giờ có thể phát hiện ra các kịch bản. : D
Alastair

7

Lệnh sw_vershiển thị phiên bản.

Đối với Mac OS cũ hơn, bạn có thể tìm thấy thông tin hữu ích trong Wikipedia .


4

Nếu tất cả những gì bạn quan tâm là phiên bản chính (10.10, 10.9), bạn có thể làm

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

Tôi sử dụng điều này trong một vài tập lệnh phải làm những việc khác nhau nếu chạy trên 10.8.x, 10.9.x và bây giờ là 10.10.


3
Đơn giản hơn:sw_vers -productVersion | cut -d '.' -f 1,2
waldyrious

2

Nếu bạn đang tìm cách phân chia số phiên bản macOS dựa trên phiên bản ngữ nghĩa cho logic tập lệnh, thì đây là một đoạn mã nhỏ tôi sử dụng

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

Bạn có thể sử dụng các biến này trong logic tập lệnh để chạy các lệnh khác nhau dựa trên phiên bản macOS. Điều này cho phép kiểm soát chi tiết hơn một chút xuống bản vá hoặc phiên bản xây dựng.

# 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.