Salut
poco.
Le
Bourne shell natif :
bash est par défaut dans «
Mavericks» à l'adresse :
/bin/bash où il cotoie les autres shells disponibles comme :
csh,
ksh etc. La version majorée
4.3.27 de
bash que tu as installée je suppose par la commande dans le «
Terminal» :
(qui implique, bien entendu, que le programme d'installation
HomeBrew soit préalablement installé dans l'OS pour pouvoir être honorée) se retrouve, par contre, à l'adresse cryptique :
/usr/local/Cellar/bash/4.3.27/bin/bash où ce programme est comme un paquet qui stagnerait en l'état sans ustensilité (vérifie si tu as bien l'objet en question à l'adresse indiquée).
[il peut se faire que le programme
brew ne soit pas à jour chez ceux qui l'ont installé naguère et laissé s'empoussiérer, auquel cas il n'installera pas la dernière version de
bash --> avant de passer la commande
brew install bash, passer d'abord -->
et faire preuve d'un peu de patience pour que la màj s'installe...]
Si tu veux par suite, lorsque tu lances le «
Terminal», être automatiquement dans le
Bourne Shell :
bash_4.3.27, à mon avis le procédé absolument le plus simple est de renommer d'une part le programme
bash à l'adresse
/bin/bash en lui ajoutant le suffixe courant des programmes acutellement mis sur la touche :
~orig pour donner -->
/bin/bash~orig ; et d'autre part de créer une copie sans changement d'intitulé du programme :
/usr/local/Cellar/bash/4.3.27/bin/bash à l'adresse :
/bin/bash - ce qui fait que tous les paramètres (d'utilisateur etc.) qui pointaient en chemin absolu à
/bin/bash antérieurement, inchangés en eux-mêmes, vont désormais pointer sur le programme :
bash_4.3.27 renommé
bash et localisé à l'emplacement attendu, et non plus sur l'ancien
Bourne Shell déporté à son voisinage sous l'intitulé ségrégatif :
bash~orig.
Pour ce faire, il te suffit dans le «
Terminal» de passer les 2 commandes suivantes :
Bloc de code:
sudo mv /bin/bash /bin/bash~orig
et ↩︎ (presse la touche 'Entrée' du clavier pour activer la commande) --> une demande de
password s'affiche (commande
sudo) --> tape ton mot-de-passe
admin à l'aveugle - aucun caractère ne se montrant à la frappe - et derechef ↩︎ --> le fichier
bash vient d'être renommé
bash~orig dans le répertoire
/bin. À présent, tu enchaînes par :
Bloc de code:
sudo cp /usr/local/Cellar/bash/4.3.27/bin/bash /bin/bash
et ↩︎ (pas besoin de te ré-authentifier
admin dans un délai de grâce de 5' par défaut où tu as le statut de
sudoer) --> le programme
/usr/local/Cellar/bash/4.3.27/bin/bash vient d'être copié dans le répertoire
/bin sous l'intitulé de l'ancien
Bourne Shell =
bash --> c'est donc désormais par défaut ton
shell d'accès quand tu lances le «
Terminal» (pour autant que le chemin absolu du
Shell d'accès -->
/bin/bash n'ait pas été édité dans ta base de données d'utilisateur).
Si jamais tu souhaitais te raviser, un simple :
supprimerait cette copie dans le répertoire
/bin de la version
4.3.27 et un simple :
Bloc de code:
sudo mv /bin/bash~orig /bin/bash
rétablirait l'ancien
Bourne Shell à son intitulé primitif, en en re-faisant da capo le
shell d'accès de l'utilisateur.
☞ testé par moi-même sans aucun problème sous «
Mavericks 10.9.5», de l'install par
brew via la substitution du programme
bash dans
/bin jusqu'au lancement du «
Terminal» en version
4.3.27 du
shell :
bash - confirmation par la demande d'info :
bash --version donnant en réponse :
Bloc de code:
GNU bash, version 4.3.27(1)-release (x86_64-apple-darwin13.4.0)
Copyright (C) 2013 Free Software Foundation, Inc.
Licence GPLv3+ : GNU GPL version 3 ou ultérieure <http://gnu.org/licenses/gpl.html>
et si je passe maintenant la commande :
Bloc de code:
env x='() { :;}; echo vulnerable' bash -c 'echo hello'
au lieu d'obtenir en réponse :
comme avant, j'obtiens un :
censé me rendre 'hilare'
alors que je m'en tamponne le coqullard
[Note: cette méthode triviale par 'substitution de l'objet' et 'préservation des paramètres de référence' évite la méthode formelle plus complexe d'édition des paramètres en vue de la désignation d'un nouvel objet de référence.]