Sono nuovo di OS X. Sto eseguendo OS X Lion su un MacBook Pro. È sicuro aggiornare la shell bash usando Homebrew:
$ brew install bash
Se sicuro, come faccio a renderlo l'istanza predefinita della shell che corro attraverso Terminale?
Grazie!
Sono nuovo di OS X. Sto eseguendo OS X Lion su un MacBook Pro. È sicuro aggiornare la shell bash usando Homebrew:
$ brew install bash
Se sicuro, come faccio a renderlo l'istanza predefinita della shell che corro attraverso Terminale?
Grazie!
Risposte:
Binari in /{,usr/}{,s}bin/
di solito non dovrebbe essere sostituito con altri file. Altri programmi si aspettano che siano le versioni fornite con OS X e vengono sostituite dagli aggiornamenti del sistema operativo.
Dopo aver corso brew install bash
, puoi cambiare la shell di default in modo sicuro per:
/usr/local/bin/bash
a /etc/shells
chsh -s /usr/local/bin/bash
. Le impostazioni nel terminale o in iTerm 2 normalmente non devono essere modificate. Entrambi hanno l'abitudine di aprire nuove finestre con una shell di login della shell predefinita.
La shell di default può anche essere cambiata da Preferenze di Sistema o con dscl, ma tutte e tre le opzioni si modificano /var/db/dslocal/nodes/Default/users/$USER.plist
.
/etc/shells
per includere il bash installato brew è richiesto. Altrimenti (almeno sulla mia macchina) il terminale si rifiuterà di avviarsi.
brew install bash
per questo funziona. (cioè non ha dovuto modificare /etc/shells
)
Potrei sbagliarmi qui, ma per quanto ne so brew
installerebbe la propria istanza di bash
, poiché la fermentazione funziona sotto /usr/local/bin
mentre i valori di default del sistema funzionano sotto /bin
(e /usr/bin
).
Informazioni su Terminal, puoi rendere le shell aperte con il tuo comando personalizzato. Vai a Preferenze & gt; Avvio e selezionare Conchiglie aperte con: Comando (percorso completo) . Basta digitare il percorso per il tuo nuovo bash
e vuala!
Spero che sia d'aiuto!
BTW: Backup! Il miglior consiglio in queste situazioni!
Ben prima di fare qualsiasi cosa, eseguire il backup del file corrente (ovviamente, ma merita sempre di essere detto)
sudo cp /bin/bash /bin/bash.3.2.bk
Quindi creare un link simbolico all'eseguibile bash scaricato da Homebrew. Penso che sarà in / usr / local / Cellar, così
sudo ln -s /usr/local/Cellar/bash/4.2.10/bin/bash /bin/bash
Ora / bin / bash punta al file nella directory usr / local
Penso che sia sicuro se ti lanci
brew install bash
e quindi aggiungilo come shell predefinita
chsh -s /usr/local/bin/bash
dal momento che stai solo modificando il tuo attuale utente. Tuttavia, ho notato che il mio valore predefinito ~ / .Profile è
if [ "/bin/bash" == $BASH ]; then
source ~/.bashrc
fi
quindi deve essere aggiornato. L'ho cambiato in
if [ "bash" == $(basename $BASH) ]; then
source ~/.bashrc
fi
chsh
da solo non è abbastanza Inoltre, lo snippet .profile aggiornato sembra identico a quello originale
brew install bash
non richiederebbe ulteriori azioni. Con il profilo aggiornato che ho condiviso, non è così. Spero che questo possa aiutare gli altri.