为什么Linux中的Gradle封装必须以这种方式启动?

我有这个结构的Gradle项目:

ls -alh drwxr-xr-x 9 Xelian 4.0K Aug 5 22:39 . drwxrwxr-x 3 Xelian 4.0K Aug 5 16:19 .. -rw-rw-r-- 1 Xelian 465 Aug 5 16:19 build.gradle drwxrwxr-x 8 Xelian 4.0K Aug 5 16:38 buildSrc drwxrwxr-x 3 Xelian 4.0K Aug 5 16:19 gradle drwxrwxr-x 3 Xelian 4.0K Aug 5 16:45 .gradle -rwxrwxrwx 1 Xelian 5.0K Aug 5 17:29 gradlew -rw-rw-r-- 1 Xelian 2.3K Aug 5 16:19 gradlew.bat -rw-rw-r-- 1 Xelian 17K Aug 5 16:19 README.md -rw-rw-r-- 1 Xelian 30 Aug 5 16:19 settings.gradle 

并执行gradlew bash文件我写:

 gradlew -v 

输出:

 No command 'gradlew' found, did you mean: Command 'gradle' from package 'gradle' (universe) gradlew: command not found 

如果我写:

  ./gradlew -v 

一切工作正常。

./是否表示当前目录?

当你输入:

 command 

你的shell会搜索你的$PATH环境变量中列出的所有目录,按顺序搜索名为“ command ”的可执行文件。

当你输入:

 ./command 

./部分明确地告诉你的shell你想要执行当前目录( .被解释为当前目录)中名为“ command ”的文件。

如果你想用command运行它,你必须把当前目录添加到PATH ,或者把可执行文件移动到PATH某个地方