【发布时间】:2015-09-07 04:39:24
【问题描述】:
我下载了archive file。在存档中将有一个具有.sh 的文件。延期。当我用 VI 打开该文件时,我在文件的开头发现了以下代码:
#!/bin/sh
MYSELF=`which "$0" 2>/dev/null`
[ $? -gt 0 -a -f "$0" ] && MYSELF="./$0"
java=java
if test -n "$JAVA_HOME"; then
java="$JAVA_HOME/bin/java"
fi
exec "$java" $java_args -jar $MYSELF "$@"
exit 1
我可以通过 java -jar file 或 `./file' 来运行 jar。
有人可以解释一下发生了什么吗?你怎么能创建这样的文件?
【问题讨论】:
-
嗯,我很惊讶这行得通。我认为 JAR 文件只是具有不同扩展名的 ZIP 文件,并且 ZIP 需要以特定的标头开头。能给个下载链接吗?
-
file <jar-file-name>命令的输出是什么? -
@EugeniuRosca 它打印数据。如果您想测试它,我添加了指向该文件的链接
-
它是某种启动脚本,检查它传递了什么样的参数。
-
@rocky 完成,谢谢。