I had a similar question, but I needed access to all 3 segments. I did some research and testing, and I found this to work well.
product_version=$(sw_vers -productVersion) semver=( ${product_version//./ } ) major="${semver[0]}" minor="${semver[1]}" patch="${semver[2]}" echo "${major}.${minor}.${patch}"
To answer this question directly, you could
product_version=$(sw_vers -productVersion) semver=( ${product_version//./ } ) major="${semver[0]}" minor="${semver[1]}" patch="${semver[2]}" versionShort="${major}.${minor}"
or you can use fewer variables
product_version=$(sw_vers -productVersion) semver=( ${product_version//./ } ) versionShort="${semver[0]}.${semver[1]}"
n8felton
source share