我有一个个人脚本文件夹:~/google_drive/code/scripts
. 这个文件夹在我的 $path 上。$path 已设置~/.zshenv
并且在其他任何地方都没有更改(我已禁用 OS X path_helper 并且我没有在任何其他 zsh 启动文件中触摸 $path)。在此脚本文件夹中,有一个名为alfred_workflows
. 从命令行,从任何位置,我都可以使用相对路径在此文件夹中运行脚本。这是预期的:
$ alfred_workflows/test.sh
#=> test successful
但是在脚本中,这是行不通的。它会产生一个错误:
$ zsh -c "alfred_workflows/test.sh"
#=> zsh:1: no such file or directory: alfred_workflows/test.sh
再一次,scripts
包含的目录alfred_workflows
是 on $path
,它设置在 中~/.zshenv
,我能够从脚本运行驻留在该目录顶层的可执行文件。问题似乎只出现在我尝试通过子目录时。可能是什么问题?