Sample bash script to show how to parse the macOS version
Ba Snake Mac Os Download
Mac OS X & macOS names. As you can see from the list above, with the exception of the first OS X beta, all versions of the Mac operating system from 2001 to 2012 were all named after big cats. Sample bash script to show how to parse the macOS version - osversion.sh.
os_version.sh
#!/bin/bash |
# use argument 1 as the version or get it from sw_vers |
os_ver=${1-:$(sw_vers -productVersion)} |
# string comparison |
if [[ '$os_ver' 10.13.* ]];then |
echo'macOS High Sierra' |
elif [[ '$os_ver' 10.12.* ]];then |
echo'macOS Sierra' |
else |
echo'(Mac) OS X something' |
fi |
# regular expression |
if [[ '$os_ver'=~ 10.1[23].* ]];then |
echo'It's one of the Sierras' |
fi |
# awk |
echo'minor version with awk: '$(echo '$os_ver' awk -F. '{ print $2; }') |
echo'patch version with awk: '$(echo '$os_ver' awk -F. '{ print $3; }') |
# array |
IFS='.'read -r -a ver <<<'$os_ver' |
echo'minor version with array: ${ver[1]}' |
echo'patch version with array: ${ver[2]}' |
# numerical comparison |
if [[ '${ver[1]}'-ge 9 ]];then |
echo'somewhere in California' |
elif [[ '${ver[1]}'-ge 2 ]];then |
echo'officially a feline' |
else |
echo'secretly a feline' |
fi |
# get the build number: |
build_ver=${2-:$(sw_vers -buildVersion)} |
if [[ '${ver[1]}'-le 5 ]];then |
build_number='${build_ver:3}' |
else |
build_number='${build_ver:4}' |
fi |
if [[ ${build_number: -1}'a' ]];then |
build_number='${build_number:0:$((${#build_number}-1))}' |
fi |
echo'build number: $build_number' |
commented Mar 5, 2018
Looking at this piece: I needed to take into account the leading colon in os_ver. To do that I modified my if statement to this |
Ba Snake Mac Os X
commented Nov 6, 2019
Ba Snake Mac Os Catalina
I think it should have been: (swap |
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment