Pour faire suite à ma question précédente , j'ai réinstallé mes MacPorts et je veux réessayer sa nouvelle version de bash.
J'ai installé le dernier bash via MacPorts sur mon système Mac OS X 10.6.8, mais lorsque je démarre une session Terminal.app, la commande "sh --version" a montré que j'utilisais toujours l'ancien bash 3.2.48. C'est même lorsque "quelle bash" pointe vers la nouvelle version 4.2.37 installée par MacPorts.
J'ai essayé de changer les préférences de Terminal.app pour utiliser le nouveau bash par défaut, changé / etc / shells et utilisé la commande chsh pour spécifier bash MacPorts comme défaut. Cependant, aucune de ces méthodes n'a réussi. Qu'est-ce que je rate? Merci beaucoup.
which bash
montre le nouveau shell mais vous exécutez le plus ancien car le shell est lancé par un chemin absolu (/ bin / bash) et n'obéit pas au chemin. Ce qui n'aurait pas d'importance de toute façon, car le chemin n'est pas configuré pour inclure MacPorts jusqu'à ce que .bashrc soit exécuté.Réponses:
sh --version
est probablement le même que/bin/sh --version
. Si le shell actuel est bash, vous pouvez voir sa version avececho $BASH_VERSION
. Si vous modifiez le shell de connexion par défaut avec chsh, vous pouvez conserver le shell par défaut de Terminal comme shell de connexion.sudo port install bash
/opt/local/bin/bash
à/etc/shells
chsh -s /opt/local/bin/bash
echo $BASH_VERSION
la source
echo $SHELL
indique plus clairement quel shell est en cours d'exécution.