Perché non riesco a passare bash a quello installato da homebrew?

2

Sto cercando di aggiornare bash alla versione 4.x. Ho fatto l'aggiornamento, quindi l'aggiornamento brew, quindi brew install bash. Ho eseguito sudo bash -c "echo /usr/local/bin/bash >> /etc/shells" e sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells" . Ho provato il collegamento simbolico /usr/local/Cellar/bash/4.3.32/bin/bash a / usr / local / bin / bash. Ho chiuso Terminal.app. Ho persino disconnesso completamente da Mac. Niente di ciò che faccio ha aggiornato $ BASH_VERSION alla cosa giusta. bash --version dice la cosa giusta, ma penso di aver letto da qualche parte che è meno affidabile di echo $BASH_VERSION (forse). Ecco un riassunto di ciò che sto vedendo:

Ho solo bisogno di sapere. . . quale versione di bash sono effettivamente su? E se non è 4.x, come faccio in modo affidabile, in modo definitivo a farlo?

Sono su Yosemite FWIW.

Modifica:

$ PATH era troppo lungo per un commento. Eccolo:

/Users/AndrewNichols/.rvm/gems/ruby-2.1.1/bin:/Users/AndrewNichols/.rvm/gems/ruby-2.1.1@global/bin:/Users/AndrewNichols/.rvm/rubies/ruby-2.1.1/bin:/usr/local/heroku/bin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/Cellar/grep/2.18/bin:/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/opt/gnu-tar/libexec/gnubin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/heroku/bin:/usr/local/opt/coreutils/libexec/gnubin:/usr/local/Cellar/grep/2.18/bin:/usr/local/opt/gnu-sed/libexec/gnubin:/usr/local/opt/gnu-tar/libexec/gnubin:~/activator:/Users/AndrewNichols/sonarqube-4.5/bin/macosx-universal-64:/Users/AndrewNichols/sonar-runner-2.4/bin:/Users/AndrewNichols/bin:~/activator:/Users/AndrewNichols/sonarqube-4.5/bin/macosx-universal-64:/Users/AndrewNichols/sonar-runner-2.4/bin:/Users/AndrewNichols/bin:/Users/AndrewNichols/.rvm/bin

Ecco una divisione su due punti, per la leggibilità:

'/Users/AndrewNichols/.rvm/gems/ruby-2.1.1/bin',
'/Users/AndrewNichols/.rvm/gems/ruby-2.1.1@global/bin',
'/Users/AndrewNichols/.rvm/rubies/ruby-2.1.1/bin',
'/usr/local/heroku/bin',
'/usr/local/opt/coreutils/libexec/gnubin',
'/usr/local/Cellar/grep/2.18/bin',
'/usr/local/opt/gnu-sed/libexec/gnubin',
'/usr/local/opt/gnu-tar/libexec/gnubin',
'/usr/local/bin',
'/usr/bin',
'/bin',
'/usr/sbin',
'/sbin',
'/opt/X11/bin',
'/usr/local/heroku/bin',
'/usr/local/opt/coreutils/libexec/gnubin',
'/usr/local/Cellar/grep/2.18/bin',
'/usr/local/opt/gnu-sed/libexec/gnubin',
'/usr/local/opt/gnu-tar/libexec/gnubin',
'~/activator',
'/Users/AndrewNichols/sonarqube-4.5/bin/macosx-universal-64',
'/Users/AndrewNichols/sonar-runner-2.4/bin',
'/Users/AndrewNichols/bin',
'~/activator',
'/Users/AndrewNichols/sonarqube-4.5/bin/macosx-universal-64',
'/Users/AndrewNichols/sonar-runner-2.4/bin',
'/Users/AndrewNichols/bin',
'/Users/AndrewNichols/.rvm/bin'

Alcuni dei duplicati ci sono perché ho il terminale impostato per eseguire tmux all'avvio, quindi .bashrc viene acquisito due volte.

    
posta tandrewnichols 02.01.2016 - 22:14
fonte

2 risposte

3

Ok, apparentemente ciò stava succedendo perché tmux stava mantenendo la versione originale di bash (anche se ero uscito da tmux e ho ricaricato la sua configurazione). tmux kill-server seguito dal riavvio di tmux risolto per me.

    
risposta data 03.01.2016 - 22:03
fonte
-3

Questo dovrebbe risolvere il tuo problema.

mv /bin/bash /bin/bash3 

e quindi creare un collegamento simbolico a

ln -s /usr/local/bin/bash /bin/bash

Questo dovrebbe risolvere il tuo problema.

    
risposta data 03.01.2016 - 01:43
fonte

Leggi altre domande sui tag