首页 > 解决方案 > 如何在 ZSH 中加载 zsh/mapfile

问题描述

我已经通过 brew 安装了 zsh 版本 5.6.2。我在加载 mapfile 模块时遇到问题。

添加zmodload zsh/mapfile mapfile给出错误~/.zshrc:15: failed to load module 'mapfile': dlopen(/usr/local/Cellar/zsh/5.6.2_1/lib/mapfile.bundle, 9): image not found

任何人都知道如何调试或修复?

标签: macoshomebrewzsh

解决方案


要加载zsh/mapfile模块,只需运行

zmodload zsh/mapfile

您可以检查它是否正确加载:

zmodload

然后,您应该会看到以下已加载模块的列表:

zsh/complete
zsh/main
zsh/mapfile
zsh/parameter
zsh/zle
zsh/zutil

然后,您可以使用它,例如:

# Define a file named pp with three lines
echo yay1 >> pp                                                                     
echo yay2 >> pp
echo yay3 >> pp

# Build the associative array
arr=("${(f@)mapfile[pp]}")

# Show the content
echo $arr[1]
echo $arr[2]
echo $arr[3]

有关 mapfile 模块的说明,请参阅ZSH Gem #22:使用 mapfile 访问和编辑文件

有关参数扩展标志的详细信息,请参阅Zsh 文档中的相应部分。


推荐阅读