Quand tu lances ton script (avec /bin/bash et non ban/bash), il lance un autre process dans lequel exécuter les commandes. Ta commande cd va donc s'éxéctuer (et tu peux tester en ajoutant un ls pour voir les fichiers dans le répertoire courant). Par contre, une fois ton script terminé, tu reviens sur ton environnement d'origine (qui est aussi un environnement bash) mais dans lequel aucune commande n'a été exécutée.
Si tu veux modifier l'environnement d'exécution il ne faut pas lancer ton script via exec, mais par source ou . test.sh
# Sous-shell
Posté par chimrod (site web personnel) . En réponse au message Script bash. Évalué à 3.
Quand tu lances ton script (avec
/bin/bashet nonban/bash), il lance un autre process dans lequel exécuter les commandes. Ta commandecdva donc s'éxéctuer (et tu peux tester en ajoutant unlspour voir les fichiers dans le répertoire courant). Par contre, une fois ton script terminé, tu reviens sur ton environnement d'origine (qui est aussi un environnement bash) mais dans lequel aucune commande n'a été exécutée.Si tu veux modifier l'environnement d'exécution il ne faut pas lancer ton script via exec, mais par
sourceou. test.sh