ටර්මිනල් වෙතින් මැක් ඕඑස් එක්ස් අනුවාදය සොයා ගන්නේ කෙසේද?


155

GUI වෙතින් මැක් ඕඑස් එක්ස් අනුවාදය සොයා ගන්නේ කෙසේදැයි මම දනිමි: Apple Menu (top left) > About This Mac

මැක් ඕඑස් එක්ස් අනුවාදය මට පවසන ටර්මිනල් විධානයක් තිබේද?

Answers:


216

ඔබට විකල්ප කිහිපයක් තිබේ:

sw_vers -productVersion 

system_profiler SPSoftwareDataType

එක්කෝ ඔබට අවශ්‍ය දේ කරනු ඇත, සහ විග්‍රහ කළ හැකි ප්‍රතිදාන ආකෘතියක් ඇත (එය ඔබට පසුව නම්).


3
පළමුවැන්න ඔබට ලබා දෙන්නේ OS අනුවාදය පමණි (එනම්, "10.7.5"). දෙවැන්න ඔබට 32/64-බිට් වැනි අමතර තොරතුරු රාශියක් ලබා දෙයි.
කෙන්ට්

1
කදිම එකක්! මම lsb_releaseඒ මාර්ග ඔස්සේ යමක් සොයමින් සිටියෙමි . කවදාවත් ඒ ස්ක්‍රිප්ට් දැකලා නැහැ. : ඩී
ඇලෙස්ටෙයාර්


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
සරලයි

2

ස්ක්‍රිප්ට් තර්කනය සඳහා අර්ථකථන අනුවාදය මත පදනම්ව මැකෝස් අනුවාද අංකය බෙදීමට ඔබ බලාපොරොත්තු වන්නේ නම්, මෙන්න මම භාවිතා කරන කේතයේ කුඩා කොටසක්

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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.