我正在尝试了解如何加载zsh模块。根据文件:
zsh的一些可选部分位于模块中,与shell的核心分开。这些模块中的每一个都可以在构建时链接到shell,或者如果安装支持此功能,则可以在shell运行时动态链接。模块在运行时链接 zmodload命令。
如果我启动一个新shell并运行命令zmodload
,它会显示当前加载的模块(zsh / datetime 未加载)。
我可以使用zmodload zsh/datetime
在运行时加载它。如果我再次运行zmodload
,我可以看到它现已列出。
但是,当我执行这样的脚本时,找不到zmodload命令:
%./testload.zsh
#!/usr/bin/env zsh
zmodload zsh/datetime
echo "EPOCHSECONDS: $EPOCHSECONDS"
./testload.zsh: line 3: zmodload: command not found
但是,如果我在调用新的zsh shell时执行脚本,它会成功运行:
% zsh testload.zsh
#!/usr/bin/env zsh
zmodload zsh/datetime
echo "EPOCHSECONDS: $EPOCHSECONDS"
EPOCHSECONDS: 1501004101
知道为什么会出现这种行为吗?