Bagaimana saya tahu versi OS X yang saya gunakan dari baris perintah?


68

Saya sering menemukan diri saya SSHing ke berbagai mesin OS X, dan akan berguna jika saya bisa mengetahui versi OS XI apa yang sedang digunakan ketika saya melakukan itu. uname -atidak cukup berhasil, karena versi kernel Darwin tidak selalu berubah dengan sistem lainnya.

Jawaban:


78

sw_vers

Saran saya adalah menggunakan sw_vers. Contoh output pada 10.6.4:

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

Jawaban yang disarankan system_profiler | grep 'System Version'adalah apa yang saya coba gunakan di masa lalu, tetapi memiliki 2 masalah.

  1. Ini lambat karena menghasilkan pembuangan system_profiler penuh dari mesin, mengumpulkan semua informasi inventaris perangkat keras dan perangkat lunak.
  2. Output dari system_profiler telah berubah seiring waktu. misalnya keluaran grepuntuk 'Serial Number' pada 10.6.4 adalah "Serial Number (sistem): ZNNNNNNNNNZZZ", sedangkan pada 10.4.11 itu "Serial Number: ZNNNNZNZZZZ" - yang penting adalah kemampuan parse dari output dan add " (sistem) "bagian bisa bermasalah kecuali Anda mengharapkan perubahan.

1
Saya akan membalik ini. `` `Gunakan sw_vers… --------------------------- Jawaban yang disarankan system_profiler...` ``
Tim Visher

@TimVisher Setuju. Saya baru saja mengedit jawabannya untuk meletakkannya di atas.
Joshua Pinter

37

Cara termudah adalah:

$ sw_vers -productVersion
10.6.4

Dari 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

Sangat berguna saat mengatur ulang kata sandi dalam mode pengguna tunggal, karena metode ini bervariasi berdasarkan pada versi OS X mana yang berjalan.


Terima kasih atas teriakan Benjamin! Saya telah memperbarui posting untuk menyertakan memeriksa OS secara offline X install seperti: grep -2 ProductVersion /System/Library/CoreServices/SystemVersion.plist. Aloha, Miles
Miles Wolbe

8

Coba ini:

 system_profiler  | grep 'System Version'

Jawaban Mike Gray lebih baik dari ini. Silakan lihat itu


4
apa yang dikatakan Mike Gray.

Mode single-user system_profiler SPSoftwareDataTypemenang jika sw_verskalah.
devon


3

The system_profilerdapat dijalankan sebagai system_profiler SPSoftwareDataType. Tidak perlu melalui output besar.


Ini tidak memberikan jawaban untuk pertanyaan itu. Setelah memiliki reputasi yang cukup, Anda dapat mengomentari setiap pos ; alih-alih, berikan jawaban yang tidak memerlukan klarifikasi dari penanya . - Dari Ulasan
Jeff Schaller

@ Jeffealler terlihat jawabannya baik-baik saja. Itu menjawab pertanyaan.
αғsнιη

Itu menentukan versi OSX?
Jeff Schaller

Mungkin itu dimaksudkan untuk menjadi komentar unix.stackexchange.com/a/584/117549 ?
Jeff Schaller

1
Ya, itu kembali di bagian "Versi Sistem", lihat Versi OS X dari Baris Perintah , ini adalah jawaban bagi saya alih-alih komentar IMO.
αғsнιη
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.