- Linux Shell和基本指令
- Bash shell语法
- 正则表达式
- 文本处理之grep
- 文本处理之sed
- 文本处理之awk
- Text GUI编程
- Tomcat启动脚本分析
- gradlew脚本分析
前言
gradle的脚本代码不多,其中的逻辑主要还是通过gradle\wrapper\gradle-wrapper.jar这个jar完成,同tomcat一样,gradle脚本完成的功能也是信息收集,然后调用java启动gradle-wrapper.jar。
但其实也没有东西可说,直接看最后两句。
eval "set -- $(
printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" |
xargs -n1 |
sed ' s~[^-[:alnum:]+,./:=@_]~\&~g; ' |
tr '\n' ' '
)" '"$@"'
exec "$JAVACMD" "$@"
第一句是在原本参数前面追加一些字符,这些字符会通过如下流程调整。
printf格式化--->xargs调整最大参数数量为1--->sed替换--->tr将所有换行替换为空格
结果会追加到$@前面。
接着下面的exec "$JAVACMD" "$@"调用java命令去执行。
参数大概如下所示。
-Xmx64ma-Xms64ma -Dorg.gradle.appname=gradlew -classpath /home/HouXinLin/project/java/CoolDesktop/gradle/wrapper/gradle-wrapper.jar org.gradle.wrapper.GradleWrapperMain