~/.profile, ~/.bashrc и ~/.bash_profile не запускаются при запуске нового терминала

StackOverflow https://stackoverflow.com//questions/25025799

Вопрос

Я пытаюсь создать постоянный псевдоним для своего терминала.Я поместил псевдоним в файлы ~/.profile, ~/.bashrc и ~/.bash_profile, которые ранее были пустыми.Когда я запускаю новый терминал, bash не распознает псевдоним, но если я использую какой-либо из них, он распознает.Почему они не запускаются, когда я открываю терминал?Я на OSX.

Это было полезно?

Решение

Две вещи должны случиться здесь, когда используя iTerm, чтобы начать работу до dotFiles.

Сначала вы должны добавить следующее на ваш .bash_profile

[[ -s ~/.bashrc ]] && source ~/.bashrc
.

Во-вторых, вам нужно будет обеспечить настройки iTerm Ваш терминал установлен для запуска оболочки входа в систему.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top