无法从位于同一目录的终端执行文件

无法从位于同一目录的终端执行文件

我想执行graldew。它肯定在同一个目录中,并且具有所有权限。但是当我尝试执行它时,我得到的是command not found。而且我甚至无法使用自动完成它标签按钮。

有人能解释一下为什么会发生这种情况吗?在此处输入图片描述

答案1

你有没有尝试过./graldew

./代表当前目录

答案2

它肯定在同一个目录中

与 Windows 不同,macOS(和其他类 Unix 系统)中的命令行 shell 仅执行在 $PATH 中找到的命令,并且没有对“同一目录”和当前目录进行任何特殊处理不在 $PATH 中默认情况下。

不在 $PATH 中的文件只能使用其准确路径来运行:./gradlew适用于当前目录(即.)中的文件,尽管完整/Users/..../android/gradlew$PWD/gradlew也可以使用。

也可以将其添加.到 $PATH 的末尾,但一般不建议这样做。(像在 Windows 中那样将其添加到开头非常危险,因为下载的文件可能会覆盖系统命令,例如“ls”或“rm”;将其添加到末尾则风险小一些。)

相关内容