在使用命令:./script时运行Shell脚本,但不是命令:脚本,其中PATH = .:'usr / bin':etc
我正在运行Zsh,当前目录在我的path中,但是脚本在没有./
情况下不能运行
阅读在terminal中执行的这些语句以了解上下文( »
是我的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
不会运行它。
我知道把我的本地目录放在我的path前是一个不好的主意,但是我已经改变了path.
在最后,它不会改变任何东西。
我将不胜感激任何帮助!
关键字test
是保留的,因为它实际上是一个shell内build的。 为了增加混淆,还有一个叫做test
的shell 命令 。
改用另一个名字=)
@桑普森是完全正确的。 一个补充:检查什么你会运行使用
type test
,它会给你
test is a shell builtin
从而解决问题。 不要使用which
,它总是寻找一个命令。 type
相当于whence -v
因此可以使用前者。
- banquo / phantom nodejs错误 – 无法读取未定义的属性'createPage'
- Webpack CSS加载程序 – 模块未find:错误:无法parsing模块“文件”
- 如何处理在我想要之前返回的asynchronous代码?
- ST。 如果已经在请求中提供,则跳过URI的“path”部分
- 如何从NodeJs调用Python脚本
- asynchronousI / O和asynchronous函数有什么区别?
- NodeJS / Express中的同步像编程一样
- 如何configuration使用从PureScript编译的JavaScript模块的TypeScript项目?
- 节点请求库错误:getaddrinfo ENOTFOUND dns.js 26