Разделить семантический номер версии с помощью zsh
С выпуском macOS 10.15 Catalina оболочка по умолчанию будет переключена с bash
в zsh
, Просматривая некоторые сценарии и документацию, я понял, что необходимо внести изменения в расширение параметров.
Следуя запросу bash regex, чтобы соответствовать семантическому номеру версии, мне нужно было обновить мой метод сбора семантических номеров версий.
В zsh
Как я могу разделить семантические номера версий с помощью расширения параметров?
1 ответ
Используя мой предыдущий ответ в качестве шаблона, я смог преобразовать свой код в расширение zsh.
product_version=$(sw_vers -productVersion) # 10.14.6
os_vers=( ${(@s:.:)product_version} ) # ( 10 14 6 )
os_vers_major="${os_vers[1]}" # 10
os_vers_minor="${os_vers[2]}" # 14
os_vers_patch="${os_vers[3]}" # 6
os_vers_build=$(sw_vers -buildVersion) #18G87
echo "${os_vers_major}.${os_vers_minor}.${os_vers_patch}+${os_vers_build}" # 10.14.6+18G87
Обратите внимание, что (по умолчанию) массивы zsh начинаются с индекса 1
не 0