問題出在哪呢?
折騰了一會,沒有任何的頭緒。
靜下心來看startup.bat的**執行過程。
其前面幾行:
set"current_dir=%cd%"
if not"%catalina_home%" == "" goto gothome ①
set"catalina_home=%current_dir%" ②
if exist "%catalina_home%\bin\catalina.bat"goto okhome
①②說,如果"%catalina_home%" 不等於空字串(""),直接跳轉到gothome;否則,也就是"%catalina_home%"等於空字串("")時,置catalina_home指向當前目錄。
難道說,在開始執行時catalina_home已經有值,指向了別處,從而使tomcat沒有在當前目錄下執行?那能在哪個地方設定catalina_home的值呢?
首先想到的是系統環境變數。查系統環境變數,果然有設定catalina_home,而指向的目錄下,就是有本tomcat執行時提示的war包。刪除環境變數中的catalina_home,重新執行本目錄下的tomcat,一切正常!為了確保原來的tomcat也正常,重新啟動原來環境變數指向的目錄下的tomcat,也執行正常。
至此,問題解決。
解答網友shell問題一例20140702
解答思想 我們學習shell的最好方法就是參看系統的標桿指令碼及幫助的example。下面是網絡卡啟動指令碼的有關這位問題的指令碼樣例。很明顯上述中括號字元比較等號兩邊有空格。所以上述的問題答案就不言而喻了。root oldboy cat oldboytest.sh bin sh stra aa s...
解答網友shell問題一例20140702
解答思想 我們學習shell的最好方法就是參看系統的標桿指令碼及幫助的example。下面是網絡卡啟動指令碼的有關這位問題的指令碼樣例。很明顯上述中括號字元比較等號兩邊有空格。所以上述的問題答案就不言而喻了。root oldboy cat oldboytest.sh bin sh stra aa s...
解答網友shell問題一例20140702
解答思想 我們學習shell的最好方法就是參看系統的標桿指令碼及幫助的example。下面是網絡卡啟動指令碼的有關這位問題的指令碼樣例。很明顯上述中括號字元比較等號兩邊有空格。所以上述的問題答案就不言而喻了。root oldboy cat oldboytest.sh bin sh stra aa s...