Почему не применяются настройки .bash_profile в macOS?
Сделал алиасы для некоторых комманд в файле .bash_profile, но они применяются только после команды source ~/.bash_profile и bash их не увидит если я перезапущу терминал и не введу эту команду. Как это можно исправить?
Не очень понял ваш совет. Что мне надо сделать, чтобы алиасы работали без команды source ~/.bash_profile в терминале? В доке выше я ответа на этот вопрос не увидел или советы там не помогли ¯\_(ツ)_/¯
Дима,
на хабре есть статья в которой расписано Запуск Bash в деталях
проще говоря, если хотите чтобы алиасы считывались при перезапуске терминала то прописывайте их не в .bash_profile а в .bashrc
Дима, сори, немного почитал тут, оказывается в macOS файл .bashrc не работает, там немного другая система инициализации
необходимо делать через ~/.bash_profile
хотя в принципе можно в самом .bash_profile подгружать .bashrc, добавив в первый строки вида:
if [ -s ~/.bashrc ]; then
source ~/.bashrc;
fi
но это не суть, для вас это будет тоже самое что и напрямую прописывать алиасы в .bash_profile
вопрос, когда вы прописываете алиасы в .bash_profile после перезагрузки они(алиасы) видны(срабатывают) ?
Дима, а у вас оболочка входа да и в самом терминале bash ? а то может у вас там zsh, fish или какая другая ?
не знаю как там в маке но в линукс можно посмотреть оболочку заглянув в значении переменной echo $SHELL
а те которые установленны chsh -l
вот наткнулся https://support.apple.com/ru-ru/HT208050
По умолчанию в качестве командного интерпретатора для оболочки входа в систему и интерактивной оболочки на компьютере Mac используется оболочка zsh или bash.
zsh (Z shell) — оболочка по умолчанию для всех новых учетных записей, начиная с ОС macOS Catalina.
bash — это стандартная оболочка в ОС macOS Mojave и более ранних версиях.
то есть если у вас zsh то естественно .bash_profile не будет считывается при загрузке