Chaque processus créé obtient son propre environnement qui vit aussi longtemps que le processus. Votre coquille est comme n'importe quel autre processus. Son environnement est le sien.
Si vous tapez 'set' sans arguments, vous verrez ce qui existe. Beaucoup de ces paramètres sont là pour contrôler le comportement du programme .. votre chemin de recherche, l'affichage X11 désiré, le répertoire personnel (sinon/home/yourname), etc.
L'utilisation est vraiment ce dont vous avez besoin. Chaque fois que vous avez besoin de stocker des informations utiles (comme une longue liste d'options de ligne de commande pour un programme) dans une variable que d'autres applications peuvent lire ou auxquelles vous pouvez accéder à partir du shell, utilisez l'environnement.
Par exemple:
USUAL_CONFIGURE_OPTS="--prefix=/home/charlie --sysconfdir=/home/charlie/tmp-etc"
./configure $USUAL_CONFIGURE_OPTS --and-additional-arguments
Edit:
En tant que programmeur, je lis l'environnement pour déterminer les préférences de l'utilisateur et leur obéir. Par exemple, la variable POSIXLY_CORRECT influence la sortie de mes programmes si elle est définie. L'environnement est l'endroit où l'utilisateur dit aux programmes comment se comporter. Il arrive aussi, l'environnement est un endroit pratique pour l'utilisateur pour stocker des bits utiles, comme je l'ai décrit ci-dessus.
Encore une fois (répondant à votre commentaire), chaque programme qui est exécuté est un processus. Un processus obtient son propre espace d'adressage (propre mémoire), son environnement est stocké dans cet espace. Cela signifie que l'environnement est spécifique à ce processus et ne vit que aussi longtemps que le processus lui-même.
Edit 2:
Je pense que maintenant je comprends parfaitement votre question. Si quelqu'un dit 'environnement virtuel', il remarque simplement que l'environnement réside dans l'espace adresse de l'application, qui est mappé par le noyau en tant que mémoire virtuelle (certaines pages peuvent être en mémoire physique, d'autres en swap, objets dynamiques partagés, etc).
Aucun processus ne peut accéder à l'environnement d'un autre utilisateur à moins que le processus ne crée explicitement une mappe dans cette région spécifique et la partage avec un autre processus. Encore une fois, l'espace d'adressage d'un processus est complètement privé et isolé des autres processus. Les variables environnementales vivent dans cet espace d'adressage, sinon le processus ne peut pas les accéder ou les manipuler.
ce n'est pas le bon endroit pour ce genre de question, j'imagine que le forum de la communauté Ubuntu serait meilleur. – ninesided
ninesided J'essaie de garder les choses simples. S'il vous plaît, ne laissez pas le titre vous confondre. J'ai supposé la perspective implicitement liée à la programmation. Je veux entendre la perspective des programmeurs. –