如何在ZSH中加载zsh/mapfile

4

我通过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

有人知道如何调试或解决此问题吗?

1个回答

6
要加载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文档中相应的部分。


16
是的,zmodload可以加载模块。问题在于,在zsh中仍然无法使用mapfile。 - Moulick
@Moulick @chovy mapfile 可用,但与 bash 中的方式不同,请参见我的更新答案和相关链接。 - Ortomala Lokni

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接