我正在尝试了解有关 ZSH 以及我的 shell 设置和操作方式的更多信息。我正在运行 OSX 并已通过 HomeBrew 安装了 ZSH,以免使用我的标准系统 ZSH。
然而,在运行之前brew install zsh
,我运行brew info zsh
并发现有两个构建选项让我感到困惑。
--with-gdbm-support
虽然我可以找到有关的信息什么GDBM 是,我似乎找不到任何实际应用或任何推理为什么我很想支持它。
--with-pcre-support
我熟悉 PCRE 代表什么,但我想我想知道,ZSH 是否使用不同的正则表达式引擎而没有此选项?再次,我想知道为什么我要添加 PCRE 支持。
任何有关这些选项会给我带来什么以及我为什么要使用它们的解释将不胜感激。
答案1
文档中的安装在 github 上包含以下注释:
--启用 PCR:
Zsh 有一个模块,允许通过 shell 内置命令使用 PCRE 正则表达式库。通过动态加载(默认情况下可用)将此库编译到 shell 中会产生对库 libpcre.so 的依赖关系。在装载包含 libpcre.so 的目录(例如 /usr/lib 或 /usr/local/lib)之前 zsh 需要在引导时可用的系统上,这是一个问题。因此,仅当选项 --enable-pcre 传递给configure 时才会搜索 pcre 支持。
因此,该选项控制您是否zsh
将作为“系统”级 shell 运行,无需外部依赖项(例如卸载 lib 文件夹)即可运行。
至于数据库管理模块该文档表明
zsh/db/gdbm 模块用于创建与数据库文件连接的“绑定”关联数组。如果 GDBM 接口不可用,则该模块定义的内置函数将报告错误。该模块还旨在作为创建附加数据库接口的原型,因此 ztie 内置功能将来可能会迁移到更通用的模块。