Articles

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.
  • COMPUTENAMEUSERNAME: tárolja a számítógépet és az aktuális felhasználónevet.
  • SystemRoot: a rendszer gyökérkönyvtára.
  • (Windows) HOMEDRIVEHOMEPATH: 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 PATHvá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):

  1. indítsa el a “Vezérlőpult”
  2. “rendszer”
  3. “Speciális rendszerbeállítások”
  4. váltson “Speciális” fülre
  5. “környezeti változók”

  6. válassza a “rendszerváltozók” (minden felhasználó számára)
  7. új környezeti változó hozzáadásához:
    1. válassza az “új”
    2. í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.
  8. egy meglévő környezeti változó módosításához:
    1. válassza a “Szerkesztés”
    2. 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.

ú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:

  1. indítsa el a “Vezérlőpult”
  2. “rendszer”
  3. “Speciális rendszerbeállítások”
  4. váltson az “Speciális” fülre
  5. “környezeti változók”
  6. a “rendszerváltozók” alatt (minden felhasználó számára) válassza az “útvonal”
  7. “Szerkesztés”
  8. (ú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”.
  9. (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 a PATH 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 PATHkö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 PATHtartalmazza. 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 a PATH – 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, PATHCLASSPATH 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 PATHkö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:

  1. 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.jarjre/classes, and others.
  2. 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 a System.out.println(System.getProperty("java.ext.dirs"))segítségével nyomtathatja ki.

  3. felhasználói osztályok keresési útvonala (röviden, osztályútvonal): a következő sorrendben határozható meg:
    1. alapértelmezett az aktuális munkakönyvtárhoz (.).
    2. bejegyzések aCLASSPATH környezeti változóban, amely felülírja az alapértelmezett értéket.
    3. a-cp (vagy-classpath) parancssori opció, amely felülírja aCLASSPATH környezeti változót.
    4. 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 a CLASSPATH környezetet.

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)
  1. aCLASSPATH 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).

  2. aCLASSPATH 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:

  1. Indítás “Control Panel”
  2. “System”
  3. a”Speciális rendszerbeállítások”
  4. Kapcsolót a “Speciális” fül
  5. “Környezeti változók”
  6. Válassza ki a “Rendszer Változók” (minden felhasználó)
  7. új környezeti változó “JAVA_HOME“:
    1. Válassza ki az “Új”
    2. A “Változó Neve”, írja be a “JAVA_HOME”.
    3. 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“).
    4. OK ⇒ OK ⇒ OK.
  8. a meglévő “JAVA_HOME” beállítás módosításához:
    1. válassza a “JAVA_HOME” ⇒ “szerkesztés”
    2. 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“).
    3. OK ⇒ OK ⇒ OK.

ú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égebbi cshksh. A Windowsnak két héja van: az újabb cmd.exe és a régebbi command.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 (.) a PATH 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.