1

bash随着 macOS 10.15 Catalina的发布,默认 shell 将从zsh. 在查看一些脚本和文档时,我意识到需要进行参数扩展更改。

bash regex to match semantic version number问题之后,我需要更新收集语义版本号的方法。

zsh,如何使用参数扩展拆分语义版本号?

4

1 回答 1

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

于 2019-07-23T12:19:31.933 回答