Articles

Variables d’environnement sous Windows/macOS/Linux

Que sont les Variables d’environnement ?

Les variables d’environnement sont des variables système globales accessibles par tous les processus/utilisateurs s’exécutant sous le Système d’exploitation (OS), tels que Windows, macOS et Linux. Les variables d’environnement sont utiles pour stocker des valeurs à l’échelle du système, par exemple,

  • PATH: la variable d’environnement la plus fréquemment utilisée, qui stocke une liste de répertoires pour rechercher des programmes exécutables.
  • OS : le système d’exploitation.
  • COMPUTENAMEUSERNAME: stocke l’ordinateur et le nom d’utilisateur actuel.
  • SystemRoot : le répertoire racine du système.
  • (Windows) HOMEDRIVEHOMEPATH : Répertoire personnel de l’utilisateur actuel.

(Windows)Variables d’environnement

Les variables d’environnement dans Windows ne sont PAS sensibles à la casse (car le DOS hérité n’est PAS sensible à la casse). Ils sont généralement nommés en majuscules, avec des mots joints avec un trait de soulignement (_), par exemple, JAVA_HOME.

Afficher les variables d’environnement et leurs valeurs

Pour lister TOUTES les variables d’environnement et leurs valeurs, démarrez un CMD et émettez la commande « set« , comme suit,

// Display all the variables (in NAME=VALUE pairs)setCOMPUTERNAME=xxxxxxxOS=xxxxxxxPATH=xxxxxxx.......

Essayez d’émettre un « set » commande sur votre système et étudie les variables d’environnement répertoriées. Portez une attention particulière à la variable appelée PATH.

Pour afficher une variable particulière, utilisez la commande « set varname« , ou « echo %varname% » :

// Display a particular variableset COMPUTERNAMECOMPUTERNAME=xxxxxx// or, use "echo" command with variable name enclosed within a pair of '%'echo %COMPUTERNAME%COMPUTERNAME=xxxxxx

Définissez/Désactivez/Modifiez une Variable d’environnement pour la Session CMD « en cours »

Pour définir (ou modifier) une variable d’environnement variable d’environnement, utilisez la commande « set varname=value« . Il ne doit pas y avoir d’espaces avant et après le signe '='. Pour désactiver une variable d’environnement, utilisez « set varname=« , c’est-à-dire définissez-la sur une chaîne vide.

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.

Utilisation d’une variable d’environnement

Pour référencer une variable dans Windows, utilisez %varname% (avec le préfixe et le suffixe de '%'). Par exemple, vous pouvez utiliser la commande echo pour imprimer la valeur d’une variable sous la forme « echo %varname%« .

// Display the PATH environment variableecho %PATH%PATH=xxxxxxx // Append a directory in front of the existing PATHset PATH=c:\myBin;%PATH%PATH=c:\myBin;

Comment Ajouter ou modifier une Variable d’environnement « en permanence »

Pour ajouter / modifier une variable d’environnement en permanence dans Windows (de sorte qu’elle soit disponible pour TOUS les processus / utilisateurs de Windows et restée dans les bottes):

  1. Lancez « Panneau de configuration »
  2. « Système »
  3. « Paramètres système avancés »
  4. Passez à l’onglet « Avancé »
  5. « Variables d’environnement »
  6. Choisissez « Variables système » (pour tous les utilisateurs)
  7. Pour ajouter une nouvelle variable d’environnement :
    1. Choisissez « Nouveau »
    2. Entrez la variable « Nom » et « Valeur ». Au lieu de taper la « valeur » et de faire une erreur de frappe, je vous suggère d’utiliser « Parcourir le répertoire… » ou  » Parcourir le fichier… bouton  » pour récupérer le répertoire ou le fichier souhaité.
  8. Pour modifier une variable d’environnement existante:
    1. Choisissez « Modifier »
    2. Entrez la nouvelle « Valeur ». Au lieu de taper la « valeur » et de faire une erreur de frappe, je vous suggère d’utiliser « Parcourir le répertoire… » ou  » Parcourir le fichier… bouton  » pour récupérer le répertoire ou le fichier souhaité.

Vous devez redémarrer CMD pour que le nouveau paramètre prenne effet !

Pour vérifier le nouveau paramètre, lancez CMD:

set VAR_NAMEVAR_NAME=VAR_VALUE

Variable d’environnement de chemin dans Windows

Lorsque vous lancez un programme exécutable (avec l’extension de fichier « .exe.bat » ou « .com« ) à partir du shell CMD, Windows recherche le programme exécutable dans le répertoire de travail actuel, suivi de tous les répertoires répertoriés dans la variable d’environnement PATH. Si le programme ne peut pas être trouvé dans ces répertoires, vous obtiendrez l’erreur suivante:

// (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

Pour lister le PATH actuel, exécutez la commande:

PATHPATH=path1;path1;path3;...

Comment Ajouter un répertoire au CHEMIN dans Windows

Pour ajouter un répertoire au PATH dans Windows:

  1. Lancer « Panneau de configuration »
  2. « Système »
  3. « Paramètres système avancés »
  4. Passer à l’onglet « Avancé »
  5. « Variables d’environnement »
  6. Sous « Variables système » (pour tous les utilisateurs), sélectionnez « Chemin »
  7. « Modifier »
  8. (Pour Windows 10 plus récent) Un tableau apparaît montrant les répertoires inclus dans le paramètre de CHEMIN actuel ⇒ « Nouveau » ⇒ » Parcourir… »pour sélectionner le répertoire souhaité à ajouter au CHEMIN (Ne tapez pas car vous ferez une erreur de frappe!) ⇒ Cliquez plusieurs fois sur « Monter » pour le déplacer vers le haut ⇒ « OK » (Ne pas « Annuler ») ⇒ « OK » ⇒ « OK ».
  9. (Pour les anciennes fenêtres) Si vous n’avez pas vu de tableau contextuel, il est temps de changer d’ordinateur.

Vous devez REDÉMARRER CMD pour que le nouveau paramètre de CHEMIN prenne effet !

Pour vérifier le nouveau paramètre, lancez CMD :

PATHPATH=path1;path2;path3;...

Notes :

  • Windows recherche le répertoire courant (.) avant de rechercher les entrées PATH. (Unixes/macOS ne recherche pas le répertoire courant, sauf si vous l’incluez explicitement dans le CHEMIN.)
  • Windows utilise le point-virgule (;) comme séparateur de chemin; alors que Unixes/macOS utilise deux points (:).
  • Si le nom de votre répertoire contient des caractères spéciaux tels que l’espace (fortement déconseillé), mettez-le entre guillemets doubles.

(macOS/Linux)Variables d’environnement

Les variables d’environnement dans macOS/Unixes sont sensibles à la casse. Les variables d’environnement globales (disponibles pour TOUS les processus) sont nommées en majuscules, avec des mots joints avec un trait de soulignement (_), par exemple, JAVA_HOME. Les variables locales (disponibles uniquement pour le processus en cours) sont en minuscules.

Utilisation de variables d’environnement dans le shell Bash

La plupart des Unix (Ubuntu/macOS) utilisent le shell Bash. Sous bash shell :

  • Pour lister toutes les variables d’environnement, utilisez la commande « env » (ou « printenv« ). Vous pouvez également utiliser « set » pour lister toutes les variables, y compris toutes les variables locales.
  • Pour référencer une variable, utilisez $varname, avec un préfixe '$' (Windows utilise %varname%).
  • Pour imprimer la valeur d’une variable particulière, utilisez la commande « echo $varname« .
  • Pour définir une variable d’environnement, utilisez la commande « export varname=value« , qui définit la variable et l’exporte dans l’environnement global (disponible pour d’autres processus). La valeur est entourée de guillemets doubles si elle contient des espaces.
  • Pour définir une variable locale, utilisez la commande « varname=value » (ou « set varname=value« ). La variable locale n’est disponible que dans ce processus.
  • Pour désactiver une variable locale, utilisez la commande « varname=« , c’est-à-dire définir une chaîne vide (ou « unset varname« ).

Comment définir une Variable d’environnement en permanence dans le shell Bash

Vous pouvez définir une variable d’environnement en permanence en plaçant une commande export dans le script de démarrage de votre shell Bash  » ~/.bashrc » (ou "~/.bash_profile« , ou  » ~/.profile« ) de votre répertoire personnel ; ou « /etc/profile » pour les opérations à l’échelle du système. Notez que les fichiers commençant par un point (.) sont masqués par défaut. Pour afficher les fichiers cachés, utilisez la commande « ls -a » ou « ls -al« .

Par exemple, pour ajouter un répertoire à la variable d’environnement PATH, ajoutez la ligne suivante à la fin de "~/.bashrc » (ou "~/.bash_profile« , ou « ~/.profile« ) , où ~ désigne le répertoire personnel de l’utilisateur actuel, ou « /etc/profile » pour TOUS les utilisateurs.

// Append a directory in front of the existing PATHexport PATH=/usr/local/mysql/bin:$PATH

(Pour Java) Vous pouvez définir les variables d’environnement CLASSPATH en ajoutant la ligne suivante. Par exemple,

export CLASSPATH=.:/usr/local/tomcat/lib/servlet-api.jar

Notez que le shell Bash utilise deux points (:) comme séparateur de chemin ; tandis que Windows utilise un point-virgule (;).

Pour actualiser le shell bash, exécutez une commande « source » (ou redémarrez le shell bash):

// Refresh the bash shellsource ~/.bashrc// orsource ~/.bash_profilesource ~/.profilesource /etc/profile

(Notes)Pour les anciens csh (C-shell) et ksh(Korn-shell)

  • Utilisez « printenv » (ou « env« ) pour lister toutes les variables d’environnement.
  • Utilisez « setenv varname value » et « unsetenv varname » pour définir et désactiver une variable d’environnement.
  • Utilisez « set varname=value » et « unset varname » pour définir et désactiver une variable locale pour le processus en cours.

Variable d’environnement PATH

La plupart des Unix et macOS utilisent le shell Bash dans le « Terminal ». Lorsque vous lancez un programme exécutable (avec l’autorisation file of executable) dans un shell Bash, le système recherche le programme dans TOUS les répertoires répertoriés dans le PATH. Si le programme est introuvable, vous obtiendrez l’erreur suivante :

abcbash: abc: command not found

Notez que le répertoire courant (.) n’est pas recherché, sauf s’il est inclus dans le PATH. Pour exécuter un programme dans le répertoire courant, vous devez inclure le chemin courant (./), par exemple,

./myProgram

Pour lister le PATH actuel, exécutez la commande:

echo $PATHpath1:path2:path3:...

Comment ajouter un répertoire au CHEMIN dans macOS / Linux

Pour ajouter un répertoire au PATH existant dans macOS/Unixes, ajoutez la ligne suivante à la fin de l’un des scripts de démarrage, tels que "~/.bashrc~/.login"~/.bash_profile~/.profile » (où ~ désigne le répertoire personnel de l’utilisateur actuel) ou « /etc/profile » pour TOUS les utilisateurs.

// Append a directory in front of the existing PATHexport PATH=/path/to/dir:$PATH

Pour actualiser le shell bash, émettez une commande « source » (ou redémarrez le shell bash) :

// Refresh the bash shellsource ~/.bashrc// orsource ~/.bash_profilesource ~/.profilesource /etc/profile

Pour vérifier le nouveau paramètre, lancez CMD :

echo $PATHpath1:path2:path3:...

Remarques:

  • Unixes/macOS ne recherche pas le répertoire courant (.), sauf si vous l’incluez explicitement dans le PATH. En d’autres termes, pour exécuter un programme dans le répertoire courant, vous devez fournir le répertoire (./), par exemple,
    ./myProgram

    Vous pouvez inclure le répertoire courant dans le PATH, en ajoutant cette ligne dans un script de démarrage:

    // Append the current directory (.) in front of the existing PATHexport PATH=.:$PATH

    (Windows recherche automatiquement le répertoire courant (.) avant de rechercher le CHEMIN.)

  • Unixes/macOS utilise deux points (:) comme séparateur de chemin ; tandis que Windows utilise un point-virgule (;).

Applications Java et Variables d’environnement PATH, CLASSPATH, JAVA_HOME

De nombreux problèmes d’installation et d’exécution d’applications Java sont causés par un réglage incorrect des variables d’environnement (variables système globales disponibles pour tous les processus/utilisateurs s’exécutant sous le Système d’exploitation), en particulier PATHCLASSPATH et JAVA_HOME.

PATH

Lorsque vous lancez un programme à partir de la ligne de commande, le système d’exploitation utilise la variable d’environnement PATH pour rechercher le programme dans votre système de fichiers local. En d’autres termes, PATH maintient une liste de répertoires pour la recherche de programmes exécutables.

CHEMIN d’accès (Pour Windows)

Lorsque vous lancez un programme exécutable (avec l’extension de fichier « .exe.bat » ou « .com« ) à partir du shell CMD, Windows recherche le programme exécutable dans le fichier. répertoire de travail actuel, suivi de tous les répertoires répertoriés dans la variable d’environnement PATH. Si le programme ne peut pas être trouvé dans ces répertoires, vous obtiendrez l’erreur suivante:

// (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

Par exemple, si vous essayez d’utiliser le compilateur Java « javac.exe » pour compiler un fichier source Java, mais « javac.exe » ne peut pas être trouvé dans le répertoire courant et tous les répertoires du PATH, vous recevrez l’erreur suivante:

javac Hello.java'javac' is not recognized as an internal or external command,operable program or batch file.

PATH maintient une liste de répertoires. Les répertoires sont séparés par des points-virgules (;) dans Windows.

Pour les applications Java, PATH doit inclure les répertoires suivants:

  • Le répertoire « bin » (binaire) de JDK (par exemple, « c:\Program Files\java\jdk1.x.x\bin« ), qui contient des programmes JDK tels que le compilateur Java »javac.exe » et Java Runtime »java.exe« .
  • « c:\windows\system32 » et « c:\windows » qui contiennent des programmes et des commandes de console.

Le répertoire « bin » du JDK doit être répertorié avant « c:\windows\system32 » et « c:\windows » dans le PATH. En effet, certains systèmes Windows plus anciens fournissent leur propre runtime Java (qui est souvent obsolète) dans ces répertoires (essayez de rechercher « java.exe« dans votre ordinateur, vous pouvez trouver quelques entrées).

Pour ajouter un répertoire (disons « bin » de JDK) au CHEMIN existant, cochez « Comment ajouter un répertoire au CHEMIN ».

PATH (Pour macOS/Linux)

La plupart des Unix et macOS utilisent le shell Bash dans le « Terminal ». Lorsque vous lancez un programme exécutable (avec l’autorisation file of executable) dans un shell Bash, le système recherche le programme dans TOUS les répertoires répertoriés dans le PATH. Si le programme ne peut pas être trouvé, vous obtiendrez l’erreur suivante:

abcbash: abc: command not found

Par exemple, si vous essayez d’utiliser le compilateur Java « javac« pour compiler un fichier source Java, mais « javac » ne peut pas être trouvé dans la liste des répertoires de la PATH, vous recevrez l’erreur suivante:

javac Hello.javabash: javac: command not found

Pour prendre en charge les applications Java, vous devez inclure le répertoire « bin » (binaire) du JDK dans le CHEMIN. Voir « Comment ajouter un répertoire au CHEMIN ».

CLASSPATH

Fichier d’archives Java (JAR)

Pour faciliter la distribution, les classes Java sont souvent archivées (compressées) ensemble dans un fichier appelé JAR. Pour utiliser un package Java tiers, vous devez placer le fichier JAR distribué dans un emplacement disponible pour le compilateur Java et le Runtime Java.

Comment les classes sont-elles trouvées ?

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: Vous pouvez copier les fichiers JAR externes dans le répertoire d’extension Java (Ceci est supprimé et ne s’applique pas à JDK 10).
    • Pour Windows, le répertoire d’extension Java se trouve à « <JAVA_HOME>\jre\lib\ext » (par exemple, « c:\Program Files\Java\jdk1.7.0_{xx}\jre\lib\ext« ).
    • Pour macOS, les répertoires d’extension JDK sont « /Library/Java/Extensions » et « /System/Library/Java/Extensions« .
    • Pour Ubuntu, les répertoires d’extension JDK sont « <JAVA_HOME>/jre/lib/ext » (par exemple, « /usr/user/java/jdk1.7.0_{xx}/jre/lib/ext« ) et « /usr/java/packages/lib/ext« .

    L’emplacement des répertoires d’extension Java est conservé dans la Propriété Système de Java « java.ext.dirs« . Vous pouvez imprimer son contenu via System.out.println(System.getProperty("java.ext.dirs")).

  3. Chemin de recherche des classes d’utilisateurs (en bref, chemin de classe) : déterminé dans l’ordre suivant :
    1. Par défaut dans le répertoire de travail actuel (.).
    2. Entrées dans la variable d’environnement CLASSPATH, qui remplace la valeur par défaut.
    3. Entrées dans l’option de ligne de commande -cp (ou -classpath), qui remplace la variable d’environnement CLASSPATH.
    4. L’option de ligne de commande d’exécution -jar, qui remplace tout ce qui précède.

    Les chemins de classe utilisateur sont conservés dans la propriété système Java « java.class.path« .
    Il est recommandé d’utiliser l’option de ligne de commande -cp (ou -classpath) (personnalisée pour chacune de vos applications), au lieu de définir un environnement CLASSPATH permanent pour toutes les applications Java. L’EDI (tel qu’Eclipse/NetBeans) gère -cp-classpath) pour chacune des applications et ne repose pas sur l’environnement CLASSPATH.

Impossible de trouver les classes

Si le Runtime Java (« java« ) ne peut pas trouver les classes utilisées dans votre programme à tous les endroits ci-dessus, il émettra une erreur « Impossible de trouver ou de charger la classe principale xxxx » (JDK 1.7) ou « java.lang.NoClassDefFoundError » (avant JDK 1.7).

De même, le compilateur Java(« javac« ) émettra des erreurs de compilation telles que « impossible de trouver le symbole », « le paquet n’existe pas ».

Notes: Les bibliothèques natives externes (« .lib.dll.a.so« ) se trouvent dans un chemin dans la propriété de JRE « java.library.path« , qui inclut normalement mais pas nécessairement tous les répertoires de la variable d’environnement PATH. Sinon, vous obtiendrez une erreur d’exécution « java.lang.UnsatisfiedLinkError: no xxx in java.library.path« .

Variable d’environnement CLASSPATH

La variable d’environnement CLASSPATH peut inclure des répertoires (contenant de nombreux fichiers de classe) et des fichiers JAR (une archive unique de fichiers de classe). Si CLASSPATH n’est pas défini, il est par défaut dans le répertoire courant. Si vous définissez le CLASSPATH, il est important d’inclure le répertoire de travail actuel (.). Sinon, le répertoire en cours ne sera pas recherché.

Un problème courant dans l’exécution du programme hello-world est: CLASSPATH est défini mais n’inclut pas le répertoire de travail actuel. Le répertoire courant n’est donc pas recherché, ce qui entraîne « Erreur: Impossible de trouver ou de charger la classe principale Hello ». Vous pouvez simplement supprimer le CLASSPATH, et laisser le chemin de classe par défaut dans le répertoire courant.

Pour un débutant, aucun paramètre CLASSPATH explicite n’est requis. Le paramètre par défaut CLASSPATH du répertoire courant est suffisant. Supprimez tous les paramètres CLASSPATH s’il y en a. Cependant, si vous devez définir CLASSPATH, assurez-vous d’inclure le répertoire actuel '.'.

La variable d’environnement PATH (pour rechercher les programmes exécutables) est applicable à toutes les applications ; tandis que CLASSPATH est utilisée uniquement par Java.

Lisez les documents JDK « Définir le CLASSPATH » et « Comment les classes sont trouvées » (vous pouvez trouver les hyperliens depuis la page d’index de la documentation JDK, ou sur Google).

Variable d’environnement CLASSPATH (Pour Windows)

Le CLASSPATH accepte les répertoires et les fichiers jar. Les entrées de chemin sont séparées par un point-virgule (;).

Exemple : Affichage et modification de CLASSPATH pour la session CMD en cours.

// Display current setting of CLASSPATHset CLASSPATH // Set CLASSPATH to the current directory and a JAR fileset CLASSPATH=.;d:\tomcat\lib\servlet-api.jar

Vous pouvez définir le CLASSPATH de manière permanente. Voir  » Comment définir une variable d’environnement « .

CLASSPATH (pour macOS/Ubuntu)
  1. Pour définir le CLASSPATH pour la session en cours, exécutez cette commande:
    export CLASSPATH=.:/usr/local/tomcat/bin/servlet-api.jar

    Utilisez deux points ‘:‘ comme séparateur de chemin (au lieu du point-virgule’;‘ sous Windows).

  2. Pour définir définitivement le CLASSPATH, placez la commande d’exportation ci-dessus dans le script d’initialisation du shell bash (.bashrc ou .bash_profile du répertoire personnel ou /etc/profile pour tous les utilisateurs). Voir « Comment définir une variable d’environnement ».

JAVA_HOME et JRE_HOME

De nombreuses applications Java (telles que Tomcat) nécessitent que la variable d’environnement JAVA_HOME soit définie dans le répertoire installé par JDK.

Comment définir JAVA_HOME dans Windows

Tout d’abord, vérifiez si JAVA_HOME est déjà défini par démarrer un CMD et émettez:

set JAVA_HOME

Si JAVA_HOME n’est pas défini, vous recevrez « Variable d’environnement JAVA_HOME non défini « . Sinon, le réglage actuel sera affiché.

Pour définir/ modifier JAVA_HOME dans Windows:

  1. Lancez « Panneau de configuration »
  2. « Système »
  3. « Paramètres système avancés »
  4. Passez à l’onglet « Avancé »
  5. « Variables d’environnement »
  6. Choisissez « Variables système » (pour tous les utilisateurs)
  7. Pour ajouter une nouvelle variable d’environnement « JAVA_HOME« :
    1. Choisissez « Nouveau »
    2. Dans « Nom de la variable », entrez « JAVA_HOME ».
    3. Dans « Valeur de la variable », cliquez sur « Parcourir le répertoire… » et accédez au répertoire installé par JDK (par exemple, « C:\Program Files\Java\jdk-15.0.xx« ).
    4. OK ⇒ OK ⇒ OK.
  8. Pour modifier le paramètre « JAVA_HOME » existant:
    1. Sélectionnez « JAVA_HOME« ⇒ »Edit »
    2. Dans « Valeur de variable », cliquez sur « Parcourir le répertoire… » et accédez au répertoire installé par JDK (par exemple, « C:\Program Files\Java\jdk-15.0.xx« ).
    3. OK ⇒ OK ⇒ OK.

Vous devez redémarrer CMD pour que le nouveau paramètre prenne effet !

Pour vérifier le nouveau paramètre, redémarrez CMD:

set JAVA_HOMEJAVA_NAME=C:\Program Files\Java\jdk-13.0.1
Comment définir JAVA_HOME sous Linux / macOS (shell Bash)

Tout d’abord, vérifiez si JAVA_HOME est déjà défini par démarrer un terminal et émettez :

echo $JAVA_HOME

JAVA_HOME doit être défini sur le répertoire installé par JDK. Vous devez trouver votre répertoire installé JDK.

trouvez le répertoire installé de macOS et Ubuntu JDK.

Ajoutez la ligne suivante à la fin de "~/.bashrc » (ou « ~/.login« ). Notez que le nom de fichier commençant par un point (.) est masqué par défaut.

Comment décocher pour macOS/Ubuntu.

export JAVA_HOME=/path/to/JDK-installed-directory

Vous devez actualiser le shell bash pour que les nouveaux paramètres prennent effet. Émettez une commande « source » comme suit :

// Refresh the Bash Shellsource ~/.bashrc // or "source ~/.login"// Verify the new settingecho $JAVA_HOME

Windows vs Unixes/macOS

Java est indépendant de la plate-forme. Les classes Java s’exécutent sous Windows ainsi que des Unixes – compatibles binaires.

  • Les Unix ont de nombreux shells, tels que le plus récent bash et l’ancien cshksh. Les fenêtres ont deux shells : le plus récent cmd.exe et le plus ancien command.com. Chaque shell est livré avec son propre ensemble de commandes, d’utilitaires et son propre langage de programmation de script.
  • Le nom de la variable Unix est noté $varname, par exemple $CLASSPATH. Windows utilise %varname%, par exemple, %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 ⇒ ….
  • Le répertoire courant n’est PAS inclus dans le PATH d’Unix implicitement. Pour exécuter un programme dans le répertoire courant, vous devez émettre « ./programName » où « . » désigne le répertoire courant. Il est recommandé d’inclure explicitement le répertoire courant (.) dans le PATH. D’autre part, le répertoire courant est inclus implicitement dans PATH de Windows.
  • Un chemin d’accès Windows comprend une lettre de lecteur et des répertoires. Chaque lecteur a un répertoire racine. Il utilise la barre oblique inverse '\' comme séparateur de répertoire (par exemple, « c:\jdk1.6\bin« ). Les chemins de Linux n’ont pas de lettre de lecteur. Il y a une seule racine. Unix utilise la barre oblique '/' comme séparateur de répertoire (par exemple, « /usr/bin/jdk1.6« ).
  • Windows utilise un point-virgule ';' comme séparateur de chemin (par exemple, dans la variable d’environnement PATH), tandis qu’Unix utilise deux points ':'.
  • Windows/DOS utilise « 0D0AH » (retour chariot plus saut de ligne) comme saut de ligne (ou Fin de ligne (EOL), ou saut de ligne). Unixes/macOS utilise uniquement « 0AH » (line-feed).