这是一个shell脚本:
echo Starting Jarvis Program D.
ALICE_HOME=.
SERVLET_LIB=lib/servlet.jar
ALICE_LIB=lib/aliceserver.jar
JS_LIB=lib/js.jar
# Set SQL_LIB to the location of your database driver.
SQL_LIB=lib/mysql_comp.jar
# These are for Jetty; you will want to change these if you are using a different http server.
HTTP_SERVER_LIBS=lib/org.mortbay.jetty.jar
PROGRAMD_CLASSPATH=$SERVLET_LIB:$ALICE_LIB:$JS_LIB:$SQL_LIB:$HTTP_SERVER_LIBS
java -classpath $PROGRAMD_CLASSPATH -Xms64m -Xmx128m org.alicebot.server.net.AliceServer $1
Run Code Online (Sandbox Code Playgroud)
在最后一行:$ 1是什么意思?
它不是Java,而是shell脚本语言.$1是命令行中提供的第一个参数.它告诉脚本将您提供的第一个命令行参数传递给java.exe.反过来,它是你调用main()的第一个参数.
如果您的main看起来像这样,并且您提供的值是"foo",则输出将为"foo":
public static void main(String [] args)
{
for (String arg : args)
{
System.out.println(arg);
}
}
Run Code Online (Sandbox Code Playgroud)