macos - 使用 zsh 拆分语义版本号
问题描述
bash
随着 macOS 10.15 Catalina的发布,默认 shell 将从zsh
. 在查看一些脚本和文档时,我意识到需要进行参数扩展更改。
在bash regex to match semantic version number问题之后,我需要更新收集语义版本号的方法。
在zsh
,如何使用参数扩展拆分语义版本号?
解决方案
在使用我之前的答案作为模板时,我能够将我的代码转换为使用 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
推荐阅读
- javascript - 如何在表中循环以获得包含值 x 的行(在一个范围内)?
- php - Laravel/SQL 从多对多关系返回数据作为数据数组
- c# - 实例化类时可以使用 Ninject 注入特定参数吗?
- javascript - FB CTF - SyntaxError: Grunt 没有生成 JS 文件
- java - 无法使用 request.getAttribute 在 jsp 页面上显示来自 servlet 的数据(它返回 null)
- git - 如何将 .gitignore 中的目录列入白名单并将 ~/.gitignore 中的文件列入黑名单?
- r - 使用带有条件语句的fluidRow
- python - 线程执行比顺序执行慢
- jquery - jquery 从 ID 列表中获取值
- apache-camel - 使用骆驼的pgp解密给出了内存不足的错误