Forum d'aide pour les étudiants

IMPORTANT: Variable d'environnement VS PATH

IMPORTANT: Variable d'environnement VS PATH

par Vittorio Passuello-Dussault,
Nombre de réponses : 0

Bonjour à tous,


Je tenais à faire une précision sur la distinction entre le PATH et les variables d'environnement.


Une variable d'environnement est une variable passée à un programme qui, selon sa valeur, changera le comportement du programme.

Exemple de cas d'utilisation: vous travaillez pour une entreprise qui développe un site Internet connecté à une base de données. Vous avez un environnement de développement et un environnement de production. Vous pourriez, par exemple, avoir une variable d'environnement contenant l'adresse de la base de données. Dans l'environnement développement, cette variable prendra la valeur de l'adresse de la BD de dévelopement et dans l'environnement production, la valeur de l'adresse de la BD production. Vous n'aurez donc pas à changer la variable dans le code en passant d'un environnement à l'autre. Vous aurez seulement à utiliser la variable d'environnement.



PATH est une variable d'environnement contenant des répertoires (voir la commande echo $PATH)

Quand vous exécutez "ls" dans le terminal depuis n'importe quel dossier, cette commande fonctionnera. Pourquoi?


En fait, ls est le nom d'un programme se trouvant dans /bin/, qui est un répertoire qui est référencé dans PATH.


Ainsi,

quand vous entrez ls, le processus va regarder s'il existe un programme dans un dossier référencé dans PATH qui a le nom "ls". Si c'est le cas, "ls" sera exécuté. En faisant un appel à une fonction exec qui contient un 'p', vous assumez que vous allez exécuter un programme qui se situe dans un dossier référencé dans PATH, vous avez donc seulement à indiquer le nom du programme (comme vous le feriez avec "ls" dans le terminal!)


Je tenais à écrire cet article, car j'ai fait un lapsus de PATH pour ENVIRONNEMENT. Malgré ma reprise, je tenais à m'assurer que le tout soit clair.


Je suis sincèrement désolé.


N'hésitez pas à me communiquer vos interrogations.


Vittorio