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 

  • 相关阅读:
    Serialize and Deserialize Binary Tree
    sliding window substring problem汇总贴
    10. Regular Expression Matching
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第七章 链接
    程序员如何写一份合格的简历?(附简历模版)
    9个提高代码运行效率的小技巧你知道几个?
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第六章 存储器层次结构
    24张图7000字详解计算机中的高速缓存
    《深入理解计算机系统》(CSAPP)实验四 —— Attack Lab
    《深入理解计算机系统》(CSAPP)读书笔记 —— 第五章 优化程序性能
  • 原文地址:https://www.cnblogs.com/lzhat/p/4366032.html
Copyright © 2011-2022 走看看