zoukankan      html  css  js  c++  java
  • tomcat中startup.bat文件内容详解

    转载于:http://hi.baidu.com/xiaohuiq8/blog/item/a988f5fbd8f12413a9d31122.html

    1. @echo off
    表示位于该命令之后的命令执行的时候不要显示出命令自身。同时为了让echo off这个命令本身也不要显示,在前面加上了@符号。
    2. if "%OS%"=="Windows_NT" setlocal
    这是个if语句。在命令行中执行help if就可以打印出if语句的使用帮助。
    这里这条语句的作用是检查OS环境变量的值是否是Windows_NT,如果条件成立,则执行setlocal。命令行下执行help setlocal,我们会发现其具体介绍:这是开始批处理文件中环境改动的本地化操作。在执行SETLOCAL之后所做的环境改动只限于批处理文件。要还原原先的设置,必须执行ENDLOCAL。达到批处理文件结尾时,对于该批处理文件的每个尚未执行的SETLOCAL命令,都会有一个隐含的ENDLOCAL被执行。
    3. rem Guess CATALINA_HOME if not defined
    rem是批处理文件的注释语句,用于作解释或暂时屏蔽掉某条语句。
    4. if not "%CATALINE_HOME%"=="" goto gotHome
    这条语句是检测CATALINE_HOME的值,如果不为空,就跳转到gotHome标记出执行。
    5. set CATALINA_HOME=.
    6. if exist "%CATALINA_HOME%incatalina.bat" goto okHome
    7. set CATALINA_HOME=..
    先设置CATALINA_HOME为当前目录,如果找不到catalina.bat,再设置为上级目录。
    8. :gotHome
    9. if exist "%CATALINA_HOME%incatalina.bat" goto okHome
    判断指定的文件是否存在,存在就跳转到okHome
    10. echo The CATALINA_HOME environment variable is not defined correctly
    11. goto end
    12. :okHome
    13. set EXECUTABLE=%CATALINA_HOME%incatalina.bat
    14. set CMD_LINE_ARGS=
    清空CMD_LINE_ARGS的值
    15. :setArgs
    设置参数
    补充:
    文件清单:test.bat
    echo %0 %1 %2
    这个批处理文件只有一条语句,如果我们在命令行下这样执行:test.bat aaa bbb ccc
    那么结果就会打印出test.bat aaa bbb
    说明:%0 %1 %2都表示变量
    %0表示这个批处理文件的文件名,%1表示传递给该批处理文件的第一个参数,%2表示传递给该批处理文件的第二个参数,一直可以用这个方法传递9个参数,即使用到9%,但是如果参数再多了,应该如何处理呢?
    这时候shift命令就派上用场了~
    现在我们来更改test.bat,内容如下:
    shift
    echo %0 %1 %2
    做了这些更改之后,同样执行上面的命令:test.bat aaa bbb ccc
    打印的结果就是aaa bbb ccc
    shift这个命令的作用就是把传递的参数依次前移,这样%0就代表了aaa,%1代表bbb,%2代表ccc。知道了这些知识后接着往下看:
    16. if ""%1""=="""" goto doneSetArgs
    检查%1是否为空,如果为空就表示没有参数了,设置参数结束,转至doneSetArgs;如果不为空就把%1指向的参数追加到CMD_LINE_ARGS这个环境变量中。就是17行所表示的意思:
    17. set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1
    18. shift
    shift指令是移位参数,使%1指向了下个参数
    19. goto setArgs
    跳转到setArgs,检查%1是否为空,如果不空,继续追加参数。。。
    20. :doneSetArgs
    21. call "%EXECUTABLE%" start %CMD_LINE_ARGS%
    启动EXECUTABLE环境变量所指向的程序,即catalina.bat,其后跟的第一个参数是start,所以要启动Tomcat内核,如果其后跟的第一个参数是stop,则停掉Tomcat,当然,另外还要把CMD_LINE_ARGS作为参数传递进去。
    22. end 

  • 相关阅读:
    批处理
    使用T-SQL语句更新数据、删除
    使用T-SQL语句一次性插入另一张表的数据
    使用T-SQL语句插入数据
    CSS色调旋转滤镜
    初探Lerna
    基层管理人员的部分思考 --读《大秦帝国》有感
    (转)React学习笔记(干货满满)
    git常用命令(转)
    个人JS体系整理(三)
  • 原文地址:https://www.cnblogs.com/lzhat/p/4366032.html
Copyright © 2011-2022 走看看