Kosh Asked: 2022-01-17 01:12:09 +0800 CST2022-01-17 01:12:09 +0800 CST 2022-01-17 01:12:09 +0800 CST 无法从位于同一目录的终端执行文件 772 我想执行graldew. 它肯定在同一个目录中,并且拥有所有权限。但是当我尝试执行它时,我得到了command not found. 此外,我什至无法使用TAB按钮自动完成它。 有人可以解释为什么会这样吗? macos terminal.app 2 个回答 Voted Best Answer xepa 2022-01-17T01:21:44+08:002022-01-17T01:21:44+08:00 你试过./graldew吗? ./代表当前目录 user1686 2022-01-18T08:00:45+08:002022-01-18T08:00:45+08:00 肯定在同一个目录下 与 Windows 不同,macOS(和其他类 Unix 系统)中的命令行 shell 仅执行在 $PATH 中找到的命令,并且不对“同一目录”进行任何特殊处理——并且当前目录不在 $PATH中默认。 位置不在 $PATH 中的文件只能使用它们的确切路径运行:./gradlew将适用于当前目录(即.)中的文件,尽管已满/Users/..../android/gradlew或$PWD/gradlew也可以使用。 也可以.在 $PATH 的末尾添加,但通常不推荐。(在开头添加它,就像在 Windows 中一样,是非常危险的,因为下载的文件可能会覆盖系统命令,例如 'ls' 或 'rm';在最后添加它 - 少一点。)
你试过
./graldew
吗?./
代表当前目录与 Windows 不同,macOS(和其他类 Unix 系统)中的命令行 shell 仅执行在 $PATH 中找到的命令,并且不对“同一目录”进行任何特殊处理——并且当前目录不在 $PATH中默认。
位置不在 $PATH 中的文件只能使用它们的确切路径运行:
./gradlew
将适用于当前目录(即.
)中的文件,尽管已满/Users/..../android/gradlew
或$PWD/gradlew
也可以使用。也可以
.
在 $PATH 的末尾添加,但通常不推荐。(在开头添加它,就像在 Windows 中一样,是非常危险的,因为下载的文件可能会覆盖系统命令,例如 'ls' 或 'rm';在最后添加它 - 少一点。)