Код в .bashrc не выполняется, когда я открываю новое окно терминала в Ubuntu 12.04. Я заметил это при создании файла .bash_aliases. Псевдонимы не появлялись, когда я открывал новый терминал. Однако, когда я source .bashrc
печатаю, псевдонимы действительно появляются.
.bashrc должен запускаться каждый раз, когда я открываю новое окно терминала, верно?
Как мне это сделать?
.profile
читается во время входа в систему, а не при открытии нового терминала, если где-то нет неправильной конфигурации. Selah: ты изменил что-нибудь из конфигурации по умолчанию? Пожалуйста, запуститеps -o command $$ $PPID
в терминале и скопируйте и вставьте вывод..bashrc
в свою домашнюю папку, верно?echo $SHELL
. Это случилось со мной, и оболочка была / bin / sh вместо bash. Исправьте это в / etc / passwd и работающем .bashrc.Ответы:
Это не обязательно бежать; в верхней части стандартного .bashrc этот комментарий:
Я считаю, что есть возможность запустить терминал Bash в качестве оболочки входа в систему или нет. В Ubuntu gnome-терминал обычно не работает как оболочка входа в систему, поэтому .bashrc должен запускаться напрямую.
Для входа в систему оболочек (например , виртуальные терминалы), как правило , файл
~/.profile
запускается, если у вас нет ни~/.bash_profile
или~/.bash_login
, но их там нет по умолчанию. По умолчанию Ubuntu использует только .profile.Стандарт
~/.profile
имеет это в нем:Он запускает .bashrc, если он доступен - при условии, что в вашей среде присутствует $ BASH_VERSION. Вы можете проверить это, введя команду
echo $BASH_VERSION
, и она должна отображать некоторую информацию о номере версии - она не должна быть пустой.источник
~/.bash_profile
или~/.bash_login
. Вы можете проверить, установив или сняв флажок вEdit -> Profile Preferences -> Title and Command -> "Run command as a login shell
и выйдя, а затем повторно запустите терминал. Вы можете повторить что-то из .profile для тестирования.~/.bash_profile
или~/.bash_login
в своей системе и хотите сохранить их, но все же хотите~/.profile
и оттуда~/.bashrc
выполнить, вы можете получить их из своего~/.bash_profile
или~/.bash_login
со строкой, содержащейsource "$HOME/.profile"
. Возвращает цветной вывод ls также в оболочках входа в систему!В моем случае просто
.bashrc
строки загрузчика отсутствовали в.bash_profile
Я добавил его вручную, и он работал с моим новым логином
источник
.bash_profile
? Ubuntu использует.profile
по умолчанию, а не.bash_profile
.pcre
и кажется, что он переписал профиль bash вместо того, чтобы добавить его..bash_profile
содержит конфигурацию оболочки bash Когда вы открываете терминал, он сначала читает и выполняет команды~/.bash_profile
. Таким образом, вы можете добавить следующее.bash_profile
для настройки оболочки в соответствии с bashrc.источник
~/.bash_profile
она не будет прочитана (и в Ubuntu она не существует по умолчанию)Если
$BASH_VERSION
не установлено, попробуйте использоватьchsh
команду для установки вашей оболочки/bin/bash
.У меня была похожая проблема с 12.04 LTS, и оказалось, что для новой учетной записи пользователя установлена оболочка по умолчанию
/bin/sh
, что и стало причиной проблемы.источник
Согласно комментарию в .profile
Итак, вы идете, если
~/.bash_profile
или~/.bash_login exists
, те будут работать вместо~/.profile
если вы хотите запустить,
~/.bashrc
просто добавьте строкуsource ~/.bashrc
вbash_profile
источник
.bashrc
был получен, пока я не создал.bash_profile
файл. Поэтому я добавилsource ~/.bashrc
строку в мой.bash_profile
файл.Вместо того, чтобы пройти через все это, просто перейдите
Edit -> Profile Preferences -> Title and Command -> "Run a custom command instead of my shell"
и в окне пользовательских команд напишитеbash
и закройте его. В следующий раз, когда вы откроете терминал, он также автоматически запустит bash.источник