Interprétation d’un script par un shell enfant Script shell:exécution par un shell enfant (mécanisme interne)

Sauf syntaxe particulière, un script est exécuté par un shell enfant, ce qui permet de conserver l’environnement du shell de travail intact.  

Soit le script premier.sh :

$ nl premier.sh  
1 pwd  
2 cd /tmp  
3 pwd  
4 ls  
$ 

Regardons de plus près l’exécution de ce script :

$ pwd  
/home/christie  
  
$ premier.sh  
/home/christie  
/tmp  
f1 f2 f3  
  
$ pwd  
/home/christie 

Lorsque l’exécution du script est terminée, la valeur du répertoire courant n’a pas changé. En effet, un script shell étant une commande externe, il est exécuté par un shell enfant. Les figures 15, 16 et 17 représentent le détail de l’exécution du script premier.sh.

images/im04-01.png

Figure 15 : Mécanisme interne mis en œuvre lors du lancement d’un script shell - Première partie

(1)

Avant de lancer le script, l’utilisateur fait afficher la valeur du répertoire courant. La commande pwd étant une commande interne, elle est exécutée par le shell courant (PID=201). Le résultat de la commande est donc /home/christie.

(2)

Lancement du script premier. Un script shell étant une commande externe, le shell courant...

couv_EI7PRO.png

Découvrez 

le livre :

Aussi inclus dans nos :

Précédent
Regroupement de commandes avec les accolades
Suivant
Caractères spéciaux du shell