1. 程式人生 > >如何在指令碼配置環境變數後立即使用環境變數

如何在指令碼配置環境變數後立即使用環境變數

如果你點進了這篇博文,只能證明你對bat指令碼還不夠熟悉,運用的太少

因為解決這個問題太簡單了,先不要急著跟著做

可是我也在這個坑裡徘徊了好幾天

先說個例子,我是在寫一鍵部署tomcat+jre(或者jdk)+mysql的小程式遇到的這個問題

因為tomcat需要java環境,所以我先安裝jdk硬配置環境變數(推薦免安裝解壓縮版,解壓+配置環境變數即可)

a.bat 是我配置java環境的指令碼,在這裡,我選擇配置jre,畢竟jdk體積大jre好幾倍【此指令碼只為部署,不考慮開發】

echo on
echo 這是a.bat
echo ********遇到這個問題的你不需要解釋一下命令的意義了吧,如果不懂setx的使用,就百度一下:setx命令的使用*********
echo 配置jre_home
setx JRE_HOME  "C:\Java\jre1.8.0_144"  -m
echo 配置classpath
setx CLASSPATH  ".;%%JRE_HOME%%\lib" -m
echo 將jre_home配置到系統變數裡,這樣你才能在任何目錄下使用java命令
setx Path "%%JRE_HOME%%\bin;%Path%"
echo 暫停看過程是否成功
pause

下面是安裝tomcat服務,我還是選擇解壓縮版,沒得選,很方便

解壓後先檢查你的tomcat安裝目錄bin下有沒有service.bat檔案,沒有就找一個,或者選擇我的(我採用的tomcat7的service.bat,雖然我用的是tomcat8,只需對service.bat稍作修改即可,將裡面tomcat7的內容都改為tomcat8)

b.bat是我安裝tomcat的指令碼配置

echo on
echo 這是b.bat
echo *******************
echo 安裝tomcat服務,路徑改成你的tomcat路徑
call "c:\tomcat\bin\service.bat" install Tomcat8
echo 啟動tomcat服務,安裝不成功則啟動失敗
sc start Tomcat8
echo pause相當於暫停,按任意鍵繼續,別急著按任意鍵,先看看執行記錄,是否成功。不要問我任意鍵在哪
pause

現在模擬一個一鍵執行程式x.bat(萬物皆指令碼)

echo 模擬安裝包程式
echo 執行a.bat
start a.bat
echo 執行b.bat
start b.bat
echo 執行結束
pause

正常情況不論成功失敗都會出現按任意鍵請繼續三次,如果哪一步閃退,看下路徑是否正確。

以上指令碼執行後你會發現,在執行service.bat這不始終找不到jre_home   or   jdk_home,明明設定了環境變數,卻還是呼叫不到,快捷鍵win+R

輸入cmd

輸入java -version

明明可以查到,Tomcat的service.bat內引用的%JRE_HOME%卻找不到。

原因,系統機制問題(具體什麼機制,等待大神回覆),只有重開一個cmd窗口才會生效。

But,機器是死邏輯,我們是活的,一下附上解決方法及service.bat附件。

*********************【WARNING】**********************

修改b.bat檔案

echo on
echo 這是b.bat
echo *******************
echo 安裝tomcat前,先設定一個區域性變數jre_home
set JRE_HOME=C:\Java\jre1.8.0_144
echo 安裝tomcat服務,路徑改成你的tomcat路徑
call "c:\tomcat\bin\service.bat" install Tomcat8
echo 啟動tomcat服務,安裝不成功則啟動失敗
sc start Tomcat8
echo pause相當於暫停,按任意鍵繼續,別急著按任意鍵,先看看執行記錄,是否成功。不要問我任意鍵在哪
pause

沒錯,就是這樣- -你只需要新增一個臨時變數,畢竟只是臨時用

這篇博其實不想寫的,因為一句話就夠了,只是自己當初找的時候無頭蒼蠅一樣亂搜關鍵詞

想到我總不是最笨的,還有人跟我一樣,所以決定寫出來

時間就是成本,希望能夠幫到人。

ps:這裡只是一鍵部署mysql+tomcat+jre(jdk)環境的一部分,有時間慢慢補充。如有緊急需要的

我V信:ffusion

相關推薦

如何在指令碼配置環境變數立即使用環境變數

如果你點進了這篇博文,只能證明你對bat指令碼還不夠熟悉,運用的太少 因為解決這個問題太簡單了,先不要急著跟著做 可是我也在這個坑裡徘徊了好幾天 先說個例子,我是在寫一鍵部署tomcat+jre(

介面配置(01 環境設定)

一、軟體需求 1.1 SVN/GIT:程式碼環境管理 1.2 Maven、ideaIU和JDK: JAVA包管理工具、開發環境及IDE 1.3 Navicat:資料庫管理 二、JDK安裝流程 一鍵安裝,安裝完畢後配置系統環境變數 三、ideaIU安裝

linux 配置檔案修改立即生效命令

profile修改後立即生效命令 方法1: 讓/etc/profile檔案修改後立即生效 ,可以使用如下命令:  # . /etc/profile 注意: . 和 /etc/profile 有空格 方法2: 讓/etc/profile檔案修改後立即生效 ,可以使用如下命令:

Windows 如何讓環境變數設定 立即生效

在“我的電腦”->“屬性”->“高階”->“環境變數”中增加或修改環境變數後,需重啟系統才能使之生效。有沒有什麼方法可讓它即時生效呢?下面介紹一種方法:   以修改環境變數“PATH”為例,修改完成後,進入DOS命令提示符,輸入:set PATH=C: ,關閉DOS視窗。再

【安裝Appium環境變數配置

上述問題原因:雖然完成了Appium的安裝,但是沒有對Appium進行環境配置。 解決方法:為Appium配置環境 1、在系統變數中增加變數“APPIUM_HOME%”值為Appium的安裝路徑,例如安裝在了C盤則是:C:\Program Files (x86)\Appiu

shell指令碼配置環境變數時 source XXX.sh與 ./XXX.sh的區別

配置當前終端的環境變數,寫一個指令碼來執行,但./XXX.sh的時候,腳本里面列印PATH是改了,但是在終端echo $PATH卻沒有看到變化,因為這樣執行等於說不在當前程序 換source XXX.sh或. XXX.

ubuntu 12.04配置變數切換到root下環境變數無效的解決辦法。

昨天在ubuntu12.04下安裝了androroid開發環境,並且在/etc/profile下添加了如下環境變數: #jdk export JAVA_HOME=/home/chase/jdk/jdk1.8 export JRE_HOME=/home/chase/jdk/

Windows10中配置Java環境變數,解決配置環境變數,依然出現javac提示不是內部或外部命令的問題

安裝好JDK後,我們發現使用java命令沒有問題,但是javac卻會提示不是內部或外部命令。安裝我們一般的配置是這樣的:單擊“計算機-屬性-高階系統設定”,單擊“環境變數”。在“系統變數”欄下單擊“新建”,建立新的系統環境變數。(1)新建->變數名"JAVA_HOME"

完美解決 ubuntu 配置環境變數不能登入

在Ubuntu作業系統下配置JDK環境變數導致系統無法登入 這個問題兩步搞定 第一、找到 /etc/environment檔案,這個檔案是系統預設載入的環境變數檔案;同於在我們配置的jdk環境變數後,jdk環境變數會霸佔/etc/environment下的環境變數,當你登入系統時無法進行,當用戶驗證通過學後

解決ubuntu在/etc/profile中配置環境變數失效的問題

昨天設定了tomcat+nginx+session共享:nginx +多個tomcat實現負載均衡和session共享(完整教程,圖文並茂). 1、配置在系統變數裡的環境變數不生效了? 因為之前是通過安裝包安裝的jdk,在/etc/profile中中設定的環境

mvn配置環境變數 mvn -v依然不可用問題解決

今天重灌了maven,配置maven環境變數後,mvn -v已經成功執行的情況下。第二天執行mvn -v居然顯示 “mvn 不是內部命令”。表示很鬱悶。 然後上網上試了一些解決方案,比如把%MAVEN_HOME%直接替換為原路徑等,都沒有解決。 我用cmd進到maven路徑

java中path環境變數和classpath環境變數的作用以及配置

path環境變數    原因:在jdk的bin目錄下有編譯工具(javac.exe)和執行工具(java.exe),如果不配置path環境變數只有在bin目錄下才能編譯執行java程式。     作用:通過配置path環境變數,將javac指令所在

生效admin環境變數執行cinder service-list報錯ERROR: Unable to establish connection to http://controller:35357/

ERROR: Unable to establish connection to http://controller:35357/ 一、報錯資訊 二、解決方法 一、報錯資訊 [[email protected]

win7環境下java jdk環境變數配置

場景 window7 64位 jdk1.8.0_181 配置步驟: 1 到Java的官網下載JDK安裝包,64位的電腦下載64位的jdk,官網下載地址: http://www.oracle.com/technetwork/java/javase/downloads/index

如何給Ubuntu正確地設定永久環境變數立即生效

本文內容如下: 什麼是環境變數? 哪些檔案下可以設定環境變數,它們有什麼區別? 正確設定永久環境變數並立即生效 1. 什麼是環境變數 環境變數(environment variables)一般是指在作業系統中用來指定作業系統執行環境的一些引數,這

linux新增新的環境變數無法找到原來的系統環境變數

3、 執行 make CROSS_COMPILE=aarch64-himix100-linux- hi3559av100_defconfig 出現錯誤 分析原因: 採用echo $PATH檢視環境變數,發現只有自己新增的兩個環境變數目錄了 解決思路:先把

Ubuntu設定環境變數立即生效(以Ubuntu12.04為例)

Ubuntu Linux系統包含兩類環境變數:系統環境變數和使用者環境變數。系統環境變數對所有系統使用者都有效,使用者環境變數僅僅對當前的使用者有效。 修改使用者環境變數 使用者環境變數通常被儲存在下面的檔案中: ~/.profile ~/.bash_profi

spring+log4j配置檔案無法讀取系統環境變數問題

在spring-web專案中,log4j的配置位於log4j.properties檔案中,其中日誌路徑使用環境變數配置(配置在/etc/profile)。但是,實際執行該路徑沒有生效。如果直接寫路徑,是沒有問題的。 log4j.appender.logFile.File = ${BYTREE

同一臺電腦教你配置多個Tomcat的環境變數

裝兩個tomcat 分別是6.0和7.0 可想執行tomcat6.0 但是實際上卻執行tomcat7.0 兩個版本都是用解壓縮包 其實就是不能執行tomcat6.0 只能執行7.0 兩個環境變數都配置了。埠也改了 還是不行我遇到這種情況了,不知大家遇到沒有,如下是

配置java,安卓環境變數

JAVA環境變數JAVA_HOME、CLASSPATH、PATH設定詳解  Windows下JAVA用到的環境變數主要有3個,JAVA_HOME、CLASSPATH、PATH。      JAVA_HOME 指向的是JDK的安裝路徑,如C:\jdk1.5.0_06,在這路徑下你應該能夠找到bin、li