környezeti változók Windows/macOS/Linux
mik azok a környezeti változók?
a környezeti változók az operációs rendszer (OS) alatt futó összes folyamat/felhasználó által elérhető globális rendszerváltozók, például Windows, macOS és Linux. A környezeti változók hasznosak a rendszerszintű értékek tárolására, például:
-
PATH
: A leggyakrabban használt környezeti változó, amely tárolja a könyvtárak listáját a futtatható programok kereséséhez. -
OS
: az operációs rendszer. -
COMPUTENAME
USERNAME
: tárolja a számítógépet és az aktuális felhasználónevet. -
SystemRoot
: a rendszer gyökérkönyvtára. - (Windows)
HOMEDRIVE
HOMEPATH
: aktuális felhasználó otthoni könyvtár.
(Windows) környezeti változók
környezeti változók a Windows nem ESET-érzékeny (mert a régi DOS nem ESET-érzékeny). Ezek általában nagybetűvel vannak elnevezve, Az aláhúzással összekapcsolt szavakkal (_
), például JAVA_HOME
.
környezeti változók és értékeik megjelenítése
az összes környezeti változó és értékük felsorolásához indítsa el a CMD-t és adja ki a “set
” parancsot, az alábbiak szerint:
// Display all the variables (in NAME=VALUE pairs)setCOMPUTERNAME=xxxxxxxOS=xxxxxxxPATH=xxxxxxx.......
próbáljon ki egy “set
” parancs a rendszeren, és tanulmányozza a felsorolt környezeti változókat. Különös figyelmet kell fordítani a PATH
változóra.
egy adott változó megjelenítéséhez használja a “set varname
” vagy “echo %varname%
“:
// Display a particular variableset COMPUTERNAMECOMPUTERNAME=xxxxxx// or, use "echo" command with variable name enclosed within a pair of '%'echo %COMPUTERNAME%COMPUTERNAME=xxxxxx
állítsa be/Unset/változót az “aktuális” CMD munkamenet
beállításához (vagy módosításához) környezeti változó, használja a “set varname=value
“parancsot. A '='
jel előtt és után nem lehet szóköz. Egy környezeti változó beállításához használja a “set varname=
” értéket, azaz állítsa üres karakterláncra.
set varnameset varname=valueset varname=set |
Display the value of the variableSet or change the value of the variable (Note: no space before and after '=')Delete the variable by setting to empty string (Note: nothing after '=')Display ALL the environment variables |
For examples,
// Set an environment variable called MY_VARset MY_VAR=hello // Displayset MY_VARMY_VAR=hello // Unset an environment variableset MY_VAR= // Displayset MY_VAREnvironment variable MY_VAR not defined
An environment variable set via the “set
” command under CMD is a local, available to the current CMD session only. Try setting a variable, re-start CMD and look for the variable.
egy
környezeti változót használva a Windows változójának hivatkozásához használja a%varname%
'%'
előtaggal és utótaggal). Például aecho
parancs segítségével kinyomtathatja egy változó értékét “echo %varname%
“formában.
// Display the PATH environment variableecho %PATH%PATH=xxxxxxx // Append a directory in front of the existing PATHset PATH=c:\myBin;%PATH%PATH=c:\myBin;
környezeti változó hozzáadása vagy módosítása “véglegesen”
környezeti változó végleges hozzáadása/megváltoztatása A Windows rendszerben (úgy, hogy az elérhető legyen az összes Windows folyamat / felhasználó számára, és a boots-on keresztül maradt):
- indítsa el a “Vezérlőpult”
- “rendszer”
- “Speciális rendszerbeállítások”
- váltson “Speciális” fülre
- válassza a “rendszerváltozók” (minden felhasználó számára)
- új környezeti változó hozzáadásához:
- válassza az “új”
- írja be a “név” és “érték”változót. Ahelyett, hogy beírná az “értéket”, és elírás hibát okozna, javaslom, hogy használja a ” Tallózás könyvtárat…”vagy” fájl böngészése…”gomb a kívánt könyvtár vagy fájl letöltéséhez.
- egy meglévő környezeti változó módosításához:
- válassza a “Szerkesztés”
- adja meg az új “értéket”. Ahelyett, hogy beírná az “értéket”, és elírás hibát okozna, javaslom, hogy használja a ” Tallózás könyvtárat…”vagy” fájl böngészése…”gomb a kívánt könyvtár vagy fájl letöltéséhez.
“környezeti változók”
újra kell indítania a CMD-t az új beállítás érvénybe lépéséhez!
az új beállítás ellenőrzéséhez indítsa el a CMD-t:
set VAR_NAMEVAR_NAME=VAR_VALUE
PATH Környezeti Változót a Windows
Ha dob egy futtatható program (a fájl kiterjesztése “.exe
.bat
“, vagy “.com
“) a CMD shell, A Windows megkeresi a végrehajtható program az aktuális könyvtárban, majd a könyvtárak szerepel a PATH
környezeti változó. Ha a program nem található ezekben a könyvtárakban, akkor a következő hibát kapja:
// (Windows 2000/XP/Vista/7/8/10) "cmd.exe"abc'abc' is not recognized as an internal or external command,operable program or batch file. // (Windows 95/98) "command.com"abcBad command or file name
az aktuális PATH
listázásához adja meg a parancsot:
PATHPATH=path1;path1;path3;...
Hogyan adhat hozzá könyvtárat a Windows
elérési útjához egy könyvtár hozzáadásához a meglévő PATH
Windows rendszerben:
- indítsa el a “Vezérlőpult”
- “rendszer”
- “Speciális rendszerbeállítások”
- váltson az “Speciális” fülre
- “környezeti változók”
- a “rendszerváltozók” alatt (minden felhasználó számára) válassza az “útvonal”
- “Szerkesztés”
- (újabb Windows 10 esetén) megjelenik egy táblázat, amely megmutatja az “új” ⇒ “beállítási könyvtárakat böngésszen…”válassza ki a kívánt könyvtárat, amelyet hozzá kell adni az útvonalhoz (ne írja be, mert elírás hibát okoz!) ⇒ Kattintson többször a “felfelé” gombra, hogy az “OK” (ne “mégsem”) ⇒ “OK” ⇒ “OK”.
- (régebbi Windows esetén) ha nem látott felugró táblát, itt az ideje megváltoztatni a számítógépet.
újra kell indítania a CMD-t az új elérési út beállítás érvénybe lépéséhez!
az új beállítás ellenőrzéséhez indítsa el a CMD-t:
PATHPATH=path1;path2;path3;...
Megjegyzések:
- Windows megkeresi az aktuális könyvtárat (
.
), mielőtt megkeresi aPATH
bejegyzéseket. (Az Unixes / macOS nem keres az aktuális könyvtárban, kivéve, ha azt kifejezetten az elérési útba helyezi.) - A Windows pontosvesszőt (
;
) használ útvonalelválasztóként; míg az Unixes / macOS colont használ (:
). - Ha a könyvtár neve olyan speciális karaktereket tartalmaz, mint a szóköz (erősen nem ajánlott), dupla idézőjelekkel zárt.
(macOS/Linux) környezeti változók
a macOS / Unixes környezeti változói esetérzékenyek. A globális környezeti változók (minden folyamat számára elérhetők) nagybetűvel vannak elnevezve, Az aláhúzással összekapcsolt szavakkal (_
), például JAVA_HOME
. A helyi változók (csak az aktuális folyamat számára érhetők el) kisbetűs.
környezeti változók használata bash Shell
a legtöbb Unix (Ubuntu/macOS) az úgynevezett Bash héjat használja. bash
shell:
- az összes környezeti változó felsorolásához használja a”
env
“(vagy”printenv
“) parancsot. A”set
” segítségével felsorolhatja az összes változót, beleértve az összes helyi változót is. - egy változó hivatkozásához használja a
$varname
előtagot, a'$'
előtaggal (a Windows%varname%
). - egy adott változó értékének kinyomtatásához használja a “
echo $varname
“parancsot. - egy környezeti változó beállításához használja a “
export varname=value
” parancsot, amely beállítja a változót, és exportálja azt a globális környezetbe (más folyamatok számára elérhető). Az értéket kettős idézőjelekkel zárt, ha szóközöket tartalmaz. - helyi változó beállításához használja a “
varname
=value
” (vagy “set
varname
=value
“). A helyi változó csak ebben a folyamatban érhető el. - a helyi változó beállításához használja a “
varname
=
” parancsot, azaz üres karakterláncra állítva (vagy “unset
varname
“).
környezeti változó végleges beállítása Bash Shell
beállíthat egy környezeti változót véglegesen azáltal, hogy egy export
parancsot helyez el a Bash shell indítási szkriptjében “~/.bashrc
” (vagy "~/.bash_profile
“, vagy “~/.profile
“) az otthoni könyvtár; vagy “/etc/profile
” rendszerszintű műveletekhez. Vegye figyelembe, hogy a dot (.
) fájlokkal kezdődő fájlok alapértelmezés szerint el vannak rejtve. A rejtett fájlok megjelenítéséhez használja a “ls -a
” vagy “ls -al
“parancsot.
például egy könyvtár hozzáadásához a PATH
környezeti változóhoz adja hozzá a következő sort a "~/.bashrc
” (vagy "~/.bash_profile
” vagy “~/.profile
“), ahol ~
az aktuális felhasználó otthoni könyvtárát jelöli, vagy “/etc/profile
” minden felhasználó számára.
// Append a directory in front of the existing PATHexport PATH=/usr/local/mysql/bin:$PATH
(Java esetén) a CLASSPATH
környezeti változókat a következő sor hozzáadásával állíthatja be. Például:
export CLASSPATH=.:/usr/local/tomcat/lib/servlet-api.jar
vegye figyelembe, hogy a Bash shell kettőspontot (:
) használ az útvonal elválasztóként; míg a windows pontosvesszőt (;
) használ.
a Bash shell frissítéséhez adjon ki egy”source
” parancsot (vagy indítsa újra a Bash héjat):
// Refresh the bash shellsource ~/.bashrc// orsource ~/.bash_profilesource ~/.profilesource /etc/profile
(Megjegyzések) a régebbi csh (C-shell) és ksh (Korn-shell)
- Use”
printenv
“(vagy”env
“) a környezeti változók felsorolásához. - Use”
setenv varname value
“and”unsetenv varname
” to set and unset an environment variable. - Use “
set varname=value
“and”unset varname
” to set and unset a local variable for the current process.
PATH Environment Variable
a legtöbb Unix és macOS használja az úgynevezett Bash Shell a “terminál”. Amikor futtatható programot indít (a végrehajtható fájl engedélyével) egy Bash héjban, a rendszer a PATH
könyvtárban felsorolt összes könyvtárban megkeresi a programot. Ha a program nem található, akkor a következő hibát kapja:
abcbash: abc: command not found
vegye figyelembe, hogy az aktuális könyvtárat (.
) nem keresik, kivéve, ha a PATH
tartalmazza. EGY program futtatásához az aktuális könyvtárba be kell illesztenie az aktuális elérési utat (./
), például:
./myProgram
az aktuális PATH
kiadásához parancs:
echo $PATHpath1:path2:path3:...
Hogyan adjunk hozzá egy könyvtárat a MacOS/Linux
elérési úthoz egy könyvtár hozzáadásához a meglévő PATH
macOS/Unixes esetén adjuk hozzá a következő sort az egyik indítási szkript végén, például ~/.login
"~/.bash_profile
~/.profile
” (ahol ~
az aktuális felhasználó otthoni könyvtárát jelöli) vagy “/etc/profile
” minden felhasználó számára.
// Append a directory in front of the existing PATHexport PATH=/path/to/dir:$PATH
a bash héj frissítéséhez adjon ki egy “source
” parancsot (vagy indítsa újra a Bash héjat):
// Refresh the bash shellsource ~/.bashrc// orsource ~/.bash_profilesource ~/.profilesource /etc/profile
az új beállítás ellenőrzéséhez indítsa el a CMD-t:
echo $PATHpath1:path2:path3:...
megjegyzések:
- unixes/macOS nem keres az aktuális könyvtárban (
.
), kivéve, ha kifejezetten aPATH
– ba foglalja. Más szóval, hogy fut egy program az aktuális könyvtárban, meg kell adnia a könyvtár (./
), például:./myProgram
lehet tartalmazzák az aktuális könyvtár a
PATH
, hozzáadásával ez a vonal egy startup script:// Append the current directory (.) in front of the existing PATHexport PATH=.:$PATH
(Windows keresés az aktuális könyvtár (
.
) automatikusan keresés előtt az UTAT.) - Unixes/macOS használ colon (
:
), mint az útvonal elválasztó; míg a Windows használ pontosvessző (;
).
Java-Alkalmazásokat, valamint a Környezeti Változók UTAT, CLASSPATH, JAVA_HOME
Sok probléma a telepítés, valamint fut a Java-alkalmazások által okozott hibás beállítás a környezeti változók (globális rendszer változók elérhető, hogy a folyamatok/users alatt futó Operációs Rendszer), különösen, PATH
CLASSPATH
vagy JAVA_HOME
.
útvonal
amikor elindít egy programot a parancssorból, az operációs rendszer a PATH
környezeti változót használja a program kereséséhez a helyi fájlrendszerben. Más szóval, aPATH
fenntartja a futtatható programok keresésére szolgáló könyvtárak listáját.
ÚTVONAL (Windows)
Ha dob egy futtatható program (a fájl kiterjesztése “.exe
.bat
“, vagy “.com
“) a CMD shell, a Windows megkeresi a végrehajtható program az aktuális könyvtárban, ezt követi a könyvtárak szerepel a PATH
környezeti változó. Ha a program nem található ezekben a könyvtárakban, akkor a következő hibát kapja:
// (Windows 2000/XP/Vista/7/8/10) "cmd.exe"abc'abc' is not recognized as an internal or external command,operable program or batch file. // (Windows 95/98) "command.com"abcBad command or file name
például, ha Java Fordítót próbál használni “javac.exe
” Java forrásfájl összeállításához, de “javac.exe
” Nem található az aktuális könyvtárban és a , akkor a következő hibaüzenet jelenik meg:
javac Hello.java'javac' is not recognized as an internal or external command,operable program or batch file.
PATH
fenntartja a könyvtárak listáját. A könyvtárakat pontosvessző választja el (;
) A Windows rendszerben.
Java alkalmazásokhoz a PATH
a következő könyvtárakat kell tartalmaznia:
- JDK ‘ s “
bin
” (bináris) könyvtár (pl. “c:\Program Files\java\jdk1.x.x\bin
“), amely JDK programokat tartalmaz, mint például a Java Compiler “javac.exe
” és a Java Runtime “java.exe
“. - “
c:\windows\system32
” és “c:\windows
“, amelyek konzolprogramokat és parancsokat tartalmaznak.
a JDK “bin
” a könyvtárat “c:\windows\system32
” és “c:\windows
“a PATH
. Ennek oka az, hogy néhány régebbi Windows rendszer biztosítja a saját Java futásidejét (ami gyakran elavult) ezekben a könyvtárakban (próbálja meg keresni a “java.exe
” a számítógépén, néhány bejegyzést találhat).
ha könyvtárat szeretne hozzáadni (mondjuk a JDK “bin
“) a meglévő útvonalhoz, ellenőrizze a “könyvtár hozzáadása az útvonalhoz”lehetőséget.
útvonal (macOS/Linux esetén)
a legtöbb Unix és macOS az úgynevezett Bash héjat használja a “terminálon”. Amikor futtatható programot indít (a végrehajtható fájl engedélyével) egy Bash héjban, a rendszer a PATH
könyvtárban felsorolt összes könyvtárban megkeresi a programot. Ha a program nem található, akkor a következő hibát kapja:
abcbash: abc: command not found
például, ha Java Fordítót próbál használni “javac
” Java forrásfájl összeállításához, de “javac
” nem található a könyvtárak listájábanPATH
, a következő hibát kapja:
javac Hello.javabash: javac: command not found
a Java alkalmazások támogatásához be kell illesztenie a JDK”bin
” (bináris) könyvtárát az útvonalba. Lásd: “könyvtár hozzáadása az útvonalhoz”.
CLASSPATH
Java Archive (JAR) File
a terjesztés megkönnyítése érdekében a Java osztályokat gyakran archiválják (tömörítik) együtt egy úgynevezett JAR fájlba. Harmadik féltől származó Java csomag használatához el kell helyeznie az elosztott JAR fájlt egy olyan helyre, amely a Java fordító és a Java Runtime számára elérhető.
hogyan találhatók osztályok?
Java Compiler (“javac
“), Java Runtime (“java
“) and other Java tools searches for classes used in your program in this order:
- Java platform (bootstrap) classes: include system classes in core packages (
java.*
) and extension packages (javax.*
) in “rt.jar
” (runtime class), “i18n.jar
” (internationalization class),charsets.jar
jre/classes
, and others. - Java Extension Directories: A külső JAR fájlokat átmásolhatja a Java Extension könyvtárba (ez eltávolításra kerül, nem alkalmazható a JDK 10-ből).
- Windows esetén a Java Extension Directory a következő címen található: “
<JAVA_HOME>\jre\lib\ext
” (pl. “c:\Program Files\Java\jdk1.7.0_{xx}\jre\lib\ext
“). - macOS esetén a JDK kiterjesztéskönyvtárak “
/Library/Java/Extensions
” és “/System/Library/Java/Extensions
“. - az Ubuntu esetében a JDK kiterjesztéskönyvtárak “
<JAVA_HOME>/jre/lib/ext
” (pl. “/usr/user/java/jdk1.7.0_{xx}/jre/lib/ext
“) és “/usr/java/packages/lib/ext
“.
a Java kiterjesztési könyvtárainak helyét a Java rendszer tulajdonságában “
java.ext.dirs
“tárolja. A tartalmát aSystem.out.println(System.getProperty("java.ext.dirs"))
segítségével nyomtathatja ki. - Windows esetén a Java Extension Directory a következő címen található: “
- felhasználói osztályok keresési útvonala (röviden, osztályútvonal): a következő sorrendben határozható meg:
- alapértelmezett az aktuális munkakönyvtárhoz (
.
). - bejegyzések a
CLASSPATH
környezeti változóban, amely felülírja az alapértelmezett értéket. - a
-cp
(vagy-classpath
) parancssori opció, amely felülírja aCLASSPATH
környezeti változót. - a
-jar
futásidejű parancssori opció, amely felülírja a fentieket.
a felhasználói osztály útvonalait a Java System property “
java.class.path
“tárolja.
javasoljuk, hogy használja a-cp
(vagy-classpath
) parancssori opciót (minden alkalmazáshoz testreszabva), ahelyett, hogy állandóCLASSPATH
környezetet állítana be az összes Java alkalmazáshoz. Az IDE (pl. Eclipse/NetBeans) az egyes alkalmazásokhoz-cp
-classpath
) kezeli aCLASSPATH
környezetet. - alapértelmezett az aktuális munkakönyvtárhoz (
nem találja osztályok
Ha a Java Runtime (“java
“) nem találja a használt osztályok a program az összes fenti helyeken, akkor hiba “nem találja, vagy töltse fő osztály xxxx” (JDK 1.7) vagy ” java.lang.NoClassDefFoundError” (JDK 1.7 előtt).
Hasonlóképpen, a Java fordító (“javac
“) összeállítási hibákat ad ki, például “nem található szimbólum”, “a csomag nem létezik”.
Megjegyzések: Külső natív könyvtárak (“.lib
.dll
.a
.so
“) a JRE tulajdonságában található path-ban találhatók “java.library.path
“, amely általában, de nem feltétlenül tartalmazza a PATH
környezeti változó összes könyvtárát. Ellenkező esetben futásidejű hibát kap “java.lang.UnsatisfiedLinkError: no xxx in java.library.path
“.
CLASSPATH Environment Variable
The CLASSPATH
environment variable could include könyvtárak (containing many class files) and JAR files (a single-file archive of class files). Ha a CLASSPATH
nincs beállítva,akkor az alapértelmezett az aktuális könyvtárba. Ha a CLASSPATH
értéket állítja be, fontos, hogy tartalmazza az aktuális munkakönyvtárat (.
). Ellenkező esetben az aktuális könyvtár nem kerül keresésre.
a hello-world program futtatásának gyakori problémája: CLASSPATH
be van állítva, de nem tartalmazza az aktuális munkakönyvtárat. Ezért az aktuális könyvtárat nem keresik, ami “hiba: nem sikerült megtalálni vagy betölteni a Hello főosztályt”. Egyszerűen eltávolíthatja aCLASSPATH
értéket, majd az osztály elérési útját alapértelmezetten az aktuális könyvtárba hagyhatja.
egy kezdő, nincs explicit CLASSPATH
beállítás szükséges. Az alapértelmezettCLASSPATH
az aktuális könyvtár beállítása elegendő. Távolítsa el az összes CLASSPATH
beállítást, ha van ilyen. Ha azonban be kell állítania aCLASSPATH
értéket, győződjön meg róla, hogy tartalmazza az aktuális'.'
könyvtárat.
aPATH
környezeti változó (a futtatható programok kereséséhez) minden alkalmazásra alkalmazható; míg a CLASSPATH
csak Java használja.
Read JDK documents “Setting the CLASSPATH
“and” How Class are Found ” (you can find the hyperlinks from the index page of the JDK documentation, or googling).
CLASSPATH környezeti változó (Windows esetén)
aCLASSPATH
könyvtárakat és jar-fájlokat fogad el. Az útvonalbejegyzések pontosvesszővel vannak elválasztva (;
).
példa: CLASSPATH
megjelenítése és módosítása az aktuális CMD munkamenethez.
// Display current setting of CLASSPATHset CLASSPATH // Set CLASSPATH to the current directory and a JAR fileset CLASSPATH=.;d:\tomcat\lib\servlet-api.jar
beállíthatja a CLASSPATH
véglegesen. Lásd: “környezeti változó beállítása”.
CLASSPATH (macOS/Ubuntu esetén)
- a
CLASSPATH
beállításához adja ki ezt a parancsot:export CLASSPATH=.:/usr/local/tomcat/bin/servlet-api.jar
Use colon ‘
:
‘ as the path separator (instead of semicolon ‘;
‘ in Windows). - a
CLASSPATH
végleges beállításához helyezze a fenti export parancsot a Bash shell inicializációs szkriptbe (.bashrc
vagy.bash_profile
a home könyvtár vagy/etc/profile
minden felhasználó számára). Lásd: “Hogyan állítsunk be egy Envrionment változót”.
JAVA_HOME és JRE_HOME
sok Java alkalmazáshoz (például Tomcat) a JAVA_HOME
környezeti változót kell beállítani a JDK telepített könyvtárába.
hogyan állítsuk be a JAVA_HOME-ot Windows
először ellenőrizze, hogy a JAVA_HOME
már be van-e állítva a CMD elindításával és a kiadással:
set JAVA_HOME
Ha JAVA_HOME
nincs beállítva, akkor “környezeti változó JAVA_HOME nincs meghatározva”. Ellenkező esetben az aktuális beállítás jelenik meg.
aJAVA_HOME
beállításához:
- Indítás “Control Panel”
- “System”
- a”Speciális rendszerbeállítások”
- Kapcsolót a “Speciális” fül
- “Környezeti változók”
- Válassza ki a “Rendszer Változók” (minden felhasználó)
- új környezeti változó “
JAVA_HOME
“:- Válassza ki az “Új”
- A “Változó Neve”, írja be a “JAVA_HOME”.
- a “változó érték”, kattintson a ” Tallózás Könyvtár…”és keresse meg a JDK telepített könyvtárát (pl. “
C:\Program Files\Java\jdk-15.0.xx
“). - OK ⇒ OK ⇒ OK.
- a meglévő “
JAVA_HOME
” beállítás módosításához:- válassza a “
JAVA_HOME
” ⇒ “szerkesztés” - a “változó érték”, kattintson a “Tallózás Könyvtár…”és keresse meg a JDK telepített könyvtárát (pl. “
C:\Program Files\Java\jdk-15.0.xx
“). - OK ⇒ OK ⇒ OK.
- válassza a “
újra kell indítania a CMD-t az új beállítás érvénybe lépéséhez!
az új beállítás ellenőrzéséhez indítsa újra a CMD-t:
set JAVA_HOMEJAVA_NAME=C:\Program Files\Java\jdk-13.0.1
hogyan kell beállítani JAVA_HOME Linux/macOS (Bash Shell)
először ellenőrizze, hogy JAVA_HOME
már be van-e állítva a terminál indítása és a probléma:
echo $JAVA_HOME
JAVA_HOME
értéket a JDK telepített könyvtárába kell állítani. Meg kell találnia a JDK telepített könyvtárát.
keresse meg a macOS és az Ubuntu JDK telepített könyvtárát.
adja hozzá a következő sort a "~/.bashrc
” (vagy “~/.login
“) végéhez. Vegye figyelembe, hogy a dot-tal kezdődő fájlnév (.
) alapértelmezés szerint el van rejtve.
hogyan lehet feloldani a MacOS / Ubuntu elrejtését.
export JAVA_HOME=/path/to/JDK-installed-directory
frissítenie kell a Bash héjat az új beállítások érvénybe lépéséhez. “source
” parancs a következőképpen:
// Refresh the Bash Shellsource ~/.bashrc // or "source ~/.login"// Verify the new settingecho $JAVA_HOME
Windows vs. Unixes / macOS
Java platformfüggetlen. Java osztályok futnak a Windows, valamint Unixes-bináris kompatibilis.
- az Unix-oknak sok héja van, például az újabb
bash
és a régebbicsh
ksh
. A Windowsnak két héja van: az újabbcmd.exe
és a régebbicommand.com
. Minden shell jön a saját sor parancsok, segédprogramok, valamint a saját programozási nyelv. - Unix változó neve
$varname
, pl.$CLASSPATH
. A Windows%varname%
, e,g.,%CLASSPATH%
. - Unix uses command “
printenv
” (print environment) or “env
” to list all the environment variables. Windows uses command “set
“. - Unix’s
PATH
is set permanently in the login or shell initialization script (e.g., “~/.login
~/.profile
~/.bashrc
~/.bash_profile
“, or “/etc/profile
“). Windows’PATH
is set permanently via Control Panel ⇒ System ⇒ …. - az aktuális könyvtár nem szerepel a Unix
PATH
implicit módon. EGY program futtatásához az aktuális könyvtárban ki kell adnia a “./programName
” ahol “.
” jelöli az aktuális könyvtárat. Javasoljuk, hogy az aktuális könyvtárat (.
) aPATH
explicit módon tartalmazza. Másrészt a jelenlegi könyvtár a Windows’PATH
implicit módon szerepel. - A Windows elérési útja tartalmaz egy meghajtó betűt és könyvtárakat. Minden meghajtónak van egy gyökérkönyvtára. A back-slash
'\'
könyvtárszeparátorként használja (például “c:\jdk1.6\bin
“). A Linux útvonalainak nincs meghajtó betűje. Van egy gyökér. A Unix forward slash'/'
könyvtárszeparátorként használja (pl. “/usr/bin/jdk1.6
“). - A Windows pontosvesszőt használ
';'
path separatorként (pl.PATH
környezeti változó), míg a Unix colon':'
. - A Windows / DOS “
0D0AH
” (carriage-return plus line-feed) sortörésként (vagy sorvégi (EOL) vagy newline) használja. Unixes / macOS használ”0AH
” (line-feed) csak.
Leave a Reply