如何在ZSH中加载zsh/mapfile

Mou*_*ick 4 macos homebrew zsh

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

添加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

有人知道如何调试这个或修复吗?

Ort*_*kni 6

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

zmodload zsh/mapfile
Run Code Online (Sandbox Code Playgroud)

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

zmodload
Run Code Online (Sandbox Code Playgroud)

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

zsh/complete
zsh/main
zsh/mapfile
zsh/parameter
zsh/zle
zsh/zutil
Run Code Online (Sandbox Code Playgroud)

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

# 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]
Run Code Online (Sandbox Code Playgroud)

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

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

  • 是的,zmodload 能够加载模块。问题是mapfile在zsh中仍然不可用。 (17认同)