国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

解析Tomcat的啟動腳本--catalina.bat

2019-11-02 16:40:32
字體:
來源:轉載
供稿:網友

概述

Tomcat 的三個最重要的啟動腳本:

startup.bat catalina.bat setclasspath.bat

上一篇咱們分析了 startup.bat 腳本

這一篇咱們來分析 catalina.bat 腳本.

至于 setclasspath.bat 這個腳本, 相信看完這一篇, 就可以自己看懂這個腳本了.
可以點擊下載 [ setclasspath.bat 腳本 ]查看附注釋的 setclasspath.bat 腳本

catalina.bat

這個腳本的代碼有點多, 就單獨弄了一篇展示 catalina.bat 腳本中的內容. 點擊 [catalina.bat 腳本 ]下載查看.

下面咱們就按照腳本中的內容一行行的來分析.

@echo offsetlocal

這兩個命令可以參考上一篇的文章(解析Tomcat的啟動腳本--startup.bat)的解釋

第一塊腳本代碼

rem Suppress Terminate batch job on CTRL+Cif not ""%1"" == ""run"" goto mainEntryif "%TEMP%" == "" goto mainEntryif exist "%TEMP%/%~nx0.run" goto mainEntryecho Y>"%TEMP%/%~nx0.run"if not exist "%TEMP%/%~nx0.run" goto mainEntryecho Y>"%TEMP%/%~nx0.Y"call "%~f0" %* <"%TEMP%/%~nx0.Y"rem Use provided errorlevelset RETVAL=%ERRORLEVEL%del /Q "%TEMP%/%~nx0.Y" >NUL 2>&1exit /B %RETVAL%:mainEntrydel /Q "%TEMP%/%~nx0.run" >NUL 2>&1

腳本的作用

判斷用戶是否使用

catalina.bat run

來啟動 Tomcat 的.

如果用戶使用 startup.bat 腳本啟動 Tomcat, 那么這段腳本不會被執行.

這段代碼看起來很亂, 慢慢分析.

第一行:

注釋, 意思就是: 禁止使用 CTRL+C 來終止批處理任務, 也不知道是怎么禁止的.

第二行:

if not ""%1"" == ""run"" goto mainEntry

首先明白這里的這個 "%1" 這個變量代表的是什么? 正常情況下, 這個腳本是被 startup.bat 腳本調用的, 被調用的同時傳遞了一個 start 參數過來(上一篇分析得出的). 在 批處理命令 中 %1 就表示命令之后的第一個參數, 在這里指的就是 start. 所以 "%1" = start. 如果用戶用 catalina.bat run 命令啟動 Tomcat 的話, 那么這里的 "%1" = run.

第三行:

if "%TEMP%" == "" goto mainEntry

這里的 %TEMP% 很有可能被認為是 空, 其實這里可以讀取到系統的環境變量. 所以, 這里的 %TEMP% 就是系統的環境變量值, 通常裝完 windows 系統的話, 系統會自動配置上這個環境變量. 所以這里一般是有值的. 大家可以去系統的環境變量看一下它指向那個目錄, 一般就是 C:/Users/用戶名/AppData/Local/Temp. 注意: AppData 是一個隱藏目錄.

第四行:

if exist "%TEMP%/%~nx0.run" goto mainEntry

這里又出現了一個新的東西 %~nx0 . 在批處理中, 我們知道 %1 表示的是程序之后的第一個參數, 那么 %0 呢? %0 表示這個可執行程序的名稱, %~nx0 的話就是程序的名稱+擴展名

在這里就是 catalina.bat . 大家可以寫一個小腳本(test.bat)驗證一下: (我的腳本放在 D 盤下)

腳本內容:

@echo offecho "%~nx0"echo "%1"

執行結果:

PS D:/> ./test.bat Hello"test.bat""Hello"PS D:/>

第五行:

echo Y>"%TEMP%/%~nx0.run"

這段代碼很簡單, 就是寫入字符 Y 到 %TEMP%/catalina.bat.run 文件中.

第六行:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平塘县| 房产| 华容县| 奇台县| 江山市| 平远县| 泾川县| 靖远县| 罗源县| 铜陵市| 中牟县| 环江| 贵港市| 大洼县| 苍溪县| 新宾| 名山县| 抚宁县| 璧山县| 阳东县| 山丹县| 丽江市| 达尔| 辉县市| 保康县| 莱西市| 积石山| 绥芬河市| 张家口市| 垦利县| 拉萨市| 高碑店市| 喀喇沁旗| 松溪县| 陵川县| 金坛市| 霍城县| 盱眙县| 永康市| 海兴县| 新巴尔虎左旗|