Définir le shell par défaut sur MacPorts bash dans Mac OS X 10.6.8?

11

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.

hpy
la source
1
Vous avez déjà cassé la coque une fois, et vous voulez voir comment recommencer? La raison which bashmontre 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é.
Alan Shutko

Réponses:

18

sh --versionest probablement le même que /bin/sh --version. Si le shell actuel est bash, vous pouvez voir sa version avec echo $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.

  1. sudo port install bash
  2. Ajouter /opt/local/bin/bashà/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. Ouvrez un nouvel onglet et cochez echo $BASH_VERSION
Lri
la source
echo $SHELLindique plus clairement quel shell est en cours d'exécution.
Victor Sergienko