Zsh 没有在 PATH 中选择新的可执行文件

Zsh 没有在 PATH 中选择新的可执行文件

所以,我明白了https://superuser.com/a/1089956/954104并尝试了那里的指导。

% which ndjsonMover.js
/Users/marvin/git/internal/tools/scripts/./js/ndjsonMover.js
% ls -l /Users/marvin/git/internal/tools/scripts/./js/ndjsonMover.js
-rwxr-xr-x  1 marvin  staff  6816 May  3 10:09 /Users/marvin/git/internal/tools/scripts/./js/ndjsonMover.js
% ndj <tab... NOTHING>
% rehash
% ndj <tab... NOTHING>
% ndjsonMover.js
< prints usage msg >
% echo $PATH
/Users/marvin/git/in<..snip..> 6.3/bin:/Users/marvin/git/internal/tools/scripts/./py3:/Users/marvin/git/internal/tools/scripts/./js

即使启动一个新的 zsh 子 shell 也无法完成我的脚本目录中的脚本。

答案1

因此,这似乎是我的 PATH 中包含的产物./。虽然 zsh 可以正确找到可执行文件,但补全魔法却不能。修复 PATH 中的路径似乎可以解决问题。如果其他人对此有一些有趣的信息(例如现有的错误报告或当 PATH 中包含“/./”时我可以用来完成的某些 zsh 设置),我会对他们的答案投赞成票。

相关内容