Wiem, że mogę używać sw_ver
, aby znaleźć tę informację:
ProductName: Mac OS X
ProductVersion: 10.14
BuildVersion: 18A353d
… I wiem, że mogę znaleźć inne rzeczy, takie jak uname
informacje o systemie operacyjnym, i system_profiler SPSoftwareDataType
dodatkowe informacje, ale chcę znaleźć „przyjazną” nazwę, na przykład „Mojave” na powyższym obrazku.
Jak znaleźć „przyjazną” nazwę, używając powłoki / Terminal / bash / etc?
Do tej pory mój Google fu nie znalazł żadnych rozwiązań. Wszystkie wyniki wydają się wracać do poleceń, o których wspomniałem powyżej, ale żadne z nich nie daje mi właściwych informacji.
Musi gdzieś tam być… jak mogę to znaleźć?
terminal
command-line
bash
TJ Luoma
źródło
źródło
sw_ver
ponieważ ta nazwa marketingowa powinna być wyraźnie wysłana z tego polecenia. Wiele tego szukałem i przypuszczam, że będziesz potrzebować bardzo skośnego sposobu, aby uzyskać to z zainstalowanych aktualizacji o nazwie.Odpowiedzi:
Metoda offline
To polecenie powinno znaleźć to, czego szukasz:
Opiera się na znalezionej tutaj odpowiedzi . Jest przetestowany do pracy w High Sierra i powinien działać w Mojave.
Metoda online
Możesz to również zrobić online (to właśnie wypełnia okno dialogowe „Informacje o tym komputerze Mac” pokazane w pytaniu):
To polecenie sprawdzi serwer Apple z twoją wersją poduct i wyodrębni nazwę systemu operacyjnego z odpowiedzi XML. Aby zobaczyć pełną odpowiedź XML, po prostu pomiń
--xpath "//root/configCode/text()"
opcję:Odpowiedź; reakcja; reagowanie; odzew; oddźwięk:
źródło
VER="$(sw_vers -productVersion)"; curl -s "http://support-sp.apple.com/sp/product?edid=$VER"
https
ponieważ Apple zignoruje połączenia inne niż ssl. Dodałem równieżxmllint
filtr, aby wyodrębnić dane, których szukasz.To jest przykład.
źródło
set os_version to (do shell script "sw_vers -productVersion | awk -F. '{print $2}'")
Cóż, w końcu zrezygnowałem z szukania rozwiązania - być może znajdziemy je po tym, jak Mojave osiągnie ostateczną wersję, ale oczywiście nie będzie to coś, co z łatwością zastosuje na starszych wersjach Mac OS X / OS X / macOS.
Dlatego stworzyłem alternatywę dla pomysłu Marca Wilsona (powyżej) i stworzyłem skrypt powłoki, który może albo wypisać pełną listę wszystkich numerów wersji i ich „przyjaznych nazw”, albo pozwoli ci wyszukać konkretną nazwę, na przykład: jeśli chcesz tylko wiedzieć, która wersja nazywała się „Yosemite”.
Mój skrypt możesz znaleźć tutaj: https://github.com/tjluoma/macosxnames/blob/master/macosxnames.sh
Pozostawię pytanie otwarte na wypadek, gdybyśmy znaleźli rozwiązanie, które nie wymaga zewnętrznego skryptu.
źródło