![Nom de la section](dummy.png) ## PATH ### Historique La variable d'environnement **PATH** a été inventée par les développeurs du système d'exploitation **Unix**. Elle a été introduite pour permettre aux utilisateurs d'exécuter des commandes en utilisant simplement leur nom, plutôt que de devoir entrer le chemin complet vers le fichier binaire. Cela a facilité l'utilisation des commandes en rendant le système plus convivial pour les utilisateurs. La variable **PATH** est devenue un élément standard de la plupart des systèmes d'exploitation modernes, y compris **Linux**, **macOS**, et **Windows**. **Microsoft** a repris le principe de la variable d'environnement **PATH** lorsqu'il a développé la commande "cmd" pour son système d'exploitation **Windows NT**. Cela a permis aux utilisateurs de Windows de trouver et d'exécuter des commandes en utilisant simplement leur nom, comme sur les systèmes Unix. La variable **PATH** a été introduite dans **Windows NT 3.5**, qui a été publié en 1993. Depuis lors, elle est devenue un élément standard de toutes les versions de Windows, y compris les versions les plus récentes. La variable d'environnement **PATH** n'a pas été incluse dans le système d'exploitation **MS-DOS** de **Microsoft**. Pour exécuter des commandes sur MS-DOS, les utilisateurs devaient entrer le chemin complet vers le fichier binaire. Il y avait plusieurs utilitaires disponibles pour MS-DOS qui permettaient d'ajouter une sorte de fonctionnalité de variable PATH pour exécuter des commandes en utilisant simplement leur nom. Certains des utilitaires les plus populaires étaient: - [4DOS](https:*fr.wikipedia.org/wiki/4DOS) (1989) : un remplacement de commande pour **COMMAND.COM** qui ajoutait de nombreuses fonctionnalités, y compris la possibilité de définir des variables d'environnement, y compris PATH. - [NDOS](https:*fr.wikipedia.org/wiki/4DOS#NDOS) (inclus à partir de [Norton Utilies 8.0](https:*en.wikipedia.org/wiki/Norton_Utilities), 1994 - 2003 [^note: En 2003, Norton Utilities a été fusionné avec Norton SystemWorks, mais a été plus tard séparé à nouveau] ): un remplacement de commande pour **COMMAND.COM** qui ajoutait des fonctionnalités similaires à 4DOS, y compris la possibilité de définir des variables d'environnement.\\ Voir le site https:*winworldpc.com/product/norton-utilities/80 - Norton Utilities 8.0 fonctionne avec un 80286 et +. - [DOSKEY](https://en.wikipedia.org/wiki/DOSKEY) (1991) : un utilitaire de Microsoft qui a été introduit dans MS-DOS 5.0 pour améliorer l'expérience de la ligne de commande en ajoutant des fonctionnalités telles que la possibilité de rappeler des commandes antérieures et de créer des macros. Il a également ajouté la possibilité de définir des variables d'environnement, y compris **PATH**. ### Exploitation du PATH sous Linux Sous Linux, la variable **PATH** est définie dans le fichier de configuration de l'utilisateur, comme `.bashrc` ou `.bash_profile`. Voir la page pour plus d'informations. Elle peut également être définie dans le fichier de configuration global pour tous les utilisateurs, comme `/etc/bashrc`. Voir la page pour plus d'informations. Enfin, la variable PATH peut-être modifié dans le SHELL uniquement dans la session courante en l’exécutant à l'invite de commandes. #### Ajouter un chemin dans le PATH Voici un exemple de définition de la variable **PATH** pour ajouter un répertoire à la recherche de commandes : export PATH=$PATH:/usr/local/bin Cette ligne ajoutera le répertoire `/usr/local/bin` à la liste des chemins de recherche de commandes. Voici un autre exemple pour ajouter plusieurs répertoires : export PATH=$PATH:/usr/local/bin:/usr/local/sbin Cela ajoutera les répertoires `/usr/local/bin` et `/usr/local/sbin` à la liste des chemins de recherche de commandes. Pour que les modifications de **PATH** prennent effet, il faut recharger le fichier de configuration ou se reconnecter. #### Afficher le contenu de la variable PATH Pour vérifier la valeur de la variable **PATH** actuelle, vous pouvez utiliser la commande : echo $PATH Cela affichera la liste des chemins séparés par des deux-points qui sont actuellement inclus dans la variable **PATH**.