Impostare la shell predefinita su MacPorts bash in Mac OS X 10.6.8?


11

Come seguito alla mia domanda precedente , ho reinstallato i miei MacPorts e voglio provare di nuovo la sua versione più recente di bash.

Ho installato la più recente bash tramite MacPorts sul mio sistema Mac OS X 10.6.8, ma quando avvio una sessione Terminal.app, il comando "sh --version" ha mostrato che stavo ancora usando la vecchia bash 3.2.48. Questo è anche quando "quale bash" punta al più recente 4.2.37 installato da MacPorts.

Ho provato a cambiare le preferenze di Terminal.app per usare il nuovo bash come predefinito, ho cambiato / etc / shells e ho usato il comando chsh per specificare MacPorts bash come predefinito. Tuttavia, nessuno di questi metodi ha avuto successo. Cosa mi sto perdendo? Grazie mille.


1
Quindi hai già rotto il guscio una volta e vuoi vedere come farlo di nuovo? Il motivo which bashmostra la shell più recente ma stai eseguendo la più vecchia è che la shell è lanciata dal percorso assoluto (/ bin / bash) e non obbedisce al percorso. Il che non importa comunque, dal momento che il percorso non è impostato per includere MacPorts fino a quando non viene eseguito .bashrc.
Alan Shutko,

Risposte:


18

sh --versionè probabilmente lo stesso di /bin/sh --version. Se la shell corrente è bash, puoi vedere la sua versione con echo $BASH_VERSION. Se si modifica la shell di accesso predefinita con chsh, è possibile mantenere la shell predefinita di Terminal come shell di accesso.

  1. sudo port install bash
  2. Aggiungi /opt/local/bin/basha/etc/shells
  3. chsh -s /opt/local/bin/bash
  4. Apri una nuova scheda e seleziona echo $BASH_VERSION

echo $SHELLindica più chiaramente quale shell è in esecuzione.
Victor Sergienko
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.