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.
exec remplace le shell courant (celui du script, pas celui d’origine) par la commande qu’on lui passe en paramètre (ici, la valeur de $SHELL).
Donc normalement, en remplaçant #!ban/bash par #!/bin/bash (avec un i et un / en plus au début), la version 3 devrait fonctionner avec deux bémols :
le shell sera celui du script et pas celui d’origine ($SHELL indique le shell actuel, donc ici, celui d’exécution du script — ou alors il faut réécrire le script dans un langage qui ne soit pas un shell pour que la variable SHELL ne soit pas affectée) ;
quand on sortira du shell, on retombera sur le shell d’origine.
Je ne vois pas de manière d’éviter ces inconvénients, à part, plutôt que de créer un script, de définir une fonction dans le .bashrc (pour bash) :
chemin (){read -p "Entrez un nouveau chemin : " chemin
cd$chemin}
ATTENTION : des erreurs dans le .bashrc pourraient causer des soucis ! Mieux vaut mettre au point dans un autre fichier en utilisant la commande source pour tester et ne recopier dans le .bashrc qu’ensuite.
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone
[^] # Re: Sous-shell
Posté par Arthur Accroc . En réponse au message Script bash. Évalué à 3.
exec remplace le shell courant (celui du script, pas celui d’origine) par la commande qu’on lui passe en paramètre (ici, la valeur de $SHELL).
Donc normalement, en remplaçant #!ban/bash par #!/bin/bash (avec un i et un / en plus au début), la version 3 devrait fonctionner avec deux bémols :
Je ne vois pas de manière d’éviter ces inconvénients, à part, plutôt que de créer un script, de définir une fonction dans le .bashrc (pour bash) :
ATTENTION : des erreurs dans le .bashrc pourraient causer des soucis ! Mieux vaut mettre au point dans un autre fichier en utilisant la commande source pour tester et ne recopier dans le .bashrc qu’ensuite.
« Le fascisme c’est la gangrène, à Washington comme en Russie. » — adapté de Renaud, Hexagone