2013-03-19 148 views
0

我有一个个人脚本文件夹:~/google_drive/code/scripts。该文件夹位于我的$路径中。 $ path设置为~/.zshenv,并且在其他地方没有改变(我禁用了OS X path_helper,并且我没有在任何其他zsh启动文件中触摸$ path)。在这个脚本文件夹中,有一个名为alfred_workflows的子目录。从命令行,从任何位置我都能够在相对路径下运行此文件夹中的脚本。这是预期的:zsh脚本中未解析可执行文件的相对路径

$ 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$path,这是在~/.zshenv设置,我能够运行驻留在此目录的顶层,从脚本可执行文件:它会产生一个错误。这个问题似乎只是当我试图通过一个子目录。可能是什么问题?

回答

2

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

+0

太棒了!这让我疯狂。非常感谢。 – 2013-03-19 02:13:51