JAVA中$ 1的含义是什么?

obj*_*001 1 java jetty

这是一个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是什么意思?

duf*_*ymo 8

它不是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)