我正在运行Zsh,当前目录位于我的路径中,但是在没有./
的情况下使用脚本时不会运行
阅读终端中执行的这些语句以了解上下文(»
是我的shell提示符):
» ls
Makefile node_modules package.json README.md src test tst
» echo $PATH
.:[all_my_other_directories]
» cat test
echo "test";
nodeunit tst/
» ./test
test
OK: 2 assertions (1ms)
» test
» which test
./test
请注意,which test
指向正确的位置,但test
不会运行它。
我知道将我的本地目录放在我的路径前是一个坏主意,但我已经改变了最后使用.
的路径并且它没有改变任何东西。
我非常感谢任何帮助!
答案 0 :(得分:3)
关键字test
是保留的,因为它实际上是内置的shell。为了加剧混乱,还有一个shell 命令也称为test
。
使用其他名称代替=)
答案 1 :(得分:2)
@ sampson-chen是完全正确的。一个补充:检查你将使用的确切用途
type test
,它会给你
test is a shell builtin
从而解决问题。不要使用which
,它总是寻找命令。 type
相当于whence -v
,因此您可以使用前者。