1

我有一个个人脚本文件夹:~/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,我能够从脚本运行驻留在该目录顶层的可执行文件。问题似乎只出现在我尝试通过子目录时。可能是什么问题?

4

1 回答 1

4

如果设置了path_dirs选项,$path则仅 搜索包含斜杠的名称。显然,这是在您的交互式 shell 中设置的,但并未在执行脚本的进程中设置。

于 2013-03-19T02:05:28.590 回答