~/.profile, ~/.bashrc и ~/.bash_profile не запускаются при запуске нового терминала
-
21-12-2019 - |
Вопрос
Я пытаюсь создать постоянный псевдоним для своего терминала.Я поместил псевдоним в файлы ~/.profile, ~/.bashrc и ~/.bash_profile, которые ранее были пустыми.Когда я запускаю новый терминал, bash не распознает псевдоним, но если я использую какой-либо из них, он распознает.Почему они не запускаются, когда я открываю терминал?Я на OSX.
Решение
Две вещи должны случиться здесь, когда используя iTerm
, чтобы начать работу до dotFiles.
Сначала вы должны добавить следующее на ваш .bash_profile
[[ -s ~/.bashrc ]] && source ~/.bashrc
.
Во-вторых, вам нужно будет обеспечить настройки iTerm
Ваш терминал установлен для запуска оболочки входа в систему.
Надеюсь, это поможет!
Другие советы
Использование терминала MAC по умолчанию, что сработало для меня было добавить команду для запуска на запуске, чтобы исходный .bash_profile.
Настройки> Профиль> Запуск> Добавить команду «Источник ~ / .bash_profile»
MAC-параметры клеммы окна Скриншот
можно считать немного взлом, но это делает трюк.
С высотой Sierra, оба терминала, так и ITERM хотят загрузить ~ / .profile сначала.Поэтому я предлагаю вам поставить одну строку в свой .profile, чтобы сделать вашу Mac работать как другие Unixes:
Источник ~ / .bash_profile
, редактируя этот один файл, вам не придется поиск по меню нескольких приложений, чтобы переопределить причудливое поведение Apple в каждом.
Добавление source ~/.profile
моему .bash_profile
работал у меня.
Почему файлы инициализации вашей оболочки не загружаются?
Как с большинством вещей, это зависит ™
Я недавно испытал то же явление и прошел через следующие упражнения, чтобы решить его:
Я использую Iterm. ETERM работает в системе входа в систему по умолчанию. Убедитесь в предпочтениях ITERM> Общие> Команда> (*) Вход в систему Поэтому я знаю, что ~ / .bash_profile всегда будет вызываться.
Знание того, что я положил следующее в своем файле ~ / .bash_profile:
for file in ~/.{bashrc,bash_exports,bash_aliases,bash_functions}; do
[ -r "$file" ] && source "$file"
done
unset file
.
Обратите внимание, что я использую отдельные файлы для .bashrc ,.bash_exports и т. Д. Она сохраняет вещи отдельными и простыми.
Примечание. Кроме того, / etc / profile загружен первым, но, поскольку я никогда не использовал эту систему Wide Init File, я знал, что это не моя проблема. Для получения подробной информации о проверке $ man bash
Итак, я начал с моего файла ~ / .bash_profile.
Я обнаружил, что когда я установил Canopy Express что это установщик заменил содержимое моего ~ / .bash_profile файл со следующим контентом:
# Added by Canopy installer on 2017-04-19
# VIRTUAL_ENV_DISABLE_PROMPT can be set to '' to make the bash prompt show that Canopy is active, otherwise 1
alias activate_canopy="source '/Users/lex/dev/python/User/bin/activate'"
# VIRTUAL_ENV_DISABLE_PROMPT=1 source '/Users/lex/dev/python/User/bin/activate'
.
P.S. Навес - отличный, бесплатный Python IDE, что я настоятельно рекомендую.
К счастью, я резервную копию файлов ~ / .bash *, чтобы восстановить, что было легко и быстро исправлено мою проблему.
Мой совет будет понять порядок вызовов к файлам инициализации и начать с первого и пройти через них, пока вы не найдете проблему.
О, и вы можете проверить, какую оболочку вы используете (я использую Bash):
~ $ echo $SHELL
/usr/local/bin/bash
. Я предполагаю, что вы можете использовать другую оболочку, такую как Bash, TCSH, SH, ZSH и т. Д.
Положите source .bash_profile
в ваш подходящий файл «Bashrc», сделает автоматическую загрузку восстановленной, то есть.
.Login для TCSH, .bash_profile для bash, .zshrc для zsh