Я использую OS X Yosemite. Мне нужно использовать ассоциативные массивы в bash, поэтому я решил использовать Homebrew для обновления bash до 4.x. Я выполнил следующие шаги:
brew install bash- Затем я добавил
/usr/local/bin/bashв/etc/shellsи перезагрузил для хорошей меры. chsh -s /usr/local/bin/bash- Для хорошей меры я вышел из системы и снова вошел в систему, хотя простого перезапуска терминала, вероятно, было бы достаточно.
Когда я открываю Терминал, все кажется хорошо. Если я скажу $SHELL --version я получу GNU bash, version 4.3.30(1)-release (x86_64-apple-darwin14.0.0) . К сожалению, если я скажу echo $BASH_VERSION я получу 3.2.53(1)-release . Кроме того, я не могу использовать какие-либо из расширенных функций Bash 4.x, например, ассоциативные массивы, например, declare -A foo говорит -bash: declare: -A: invalid option .
Интересно, что echo $0 говорит -bash .
Что тут происходит? Как мне получить мои ассоциативные массивы?
