Я не могу найти .bash_profile
в Ubuntu 14.04 в моем /home/user
каталоге. Я использовал ls -a
команду, чтобы увидеть .bash_profile
, но такого файла нет.
Я не могу найти .bash_profile
в Ubuntu 14.04 в моем /home/user
каталоге. Я использовал ls -a
команду, чтобы увидеть .bash_profile
, но такого файла нет.
Ответы:
Ubuntu использует ~/.profile
.
Вы можете создать свой .bash_profile
в Ubuntu, но тогда .profile
не будет читаться.
Если мы читаем .profile содержание:
cat ~/.profile
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
Так что используйте ~/.profile
вместо~/.bash_profile
vim ~/.bashrc
тогда. ~/.bashrc
При вызове оболочки оболочки bash ищет свои конфигурационные файлы в следующем порядке:
[0] ~/.bash_profile
[1] ~/.bash_login
[2] ~/.profile
После нахождения первого, он перестает искать других, поэтому, если есть .bash_profile
в моем $HOME
bash, не будет искать .bash_login
и .profile
больше.
Из этих трех имен файлов, Ubuntu по умолчанию использует, .profile
вы можете переименовать его, .bash_profile
если хотите:
mv ~/.profile ~/.bash_profile
Теперь , если мы открываем новую Баш оболочку , используя bash -l
, su - $USER
, sudo -u $USER -i
или любые другие команды , которая работает Баш как шелл, ~/.bash_profile
получат источники.
То, о чем я говорил до сих пор, относится только к самому Bash, когда вы входите в систему из графического интерфейса, менеджер дисплея отвечает за поиск правильных файлов.
Ubuntu использует в gdm3
качестве диспетчера отображения, если мы посмотрим: /etc/gdm3/Xsession
мы видим, что ни один из файлов не будет получен, кроме .profile
:
# First read /etc/profile and .profile
for file in /etc/profile "$HOME/.profile"; do
if [ -f "$file" ]; then
source_with_error_check "$file"
fi
done
поэтому, если вы используете графический интерфейс для входа в систему, сохраните файл под .profile
именем, иначе вы можете пропустить некоторые переменные и настройки в вашей среде.
Я думаю, что лучший вариант - создать символическую ссылку на .profile
:
ln -s ~/.profile ~/.bash_profile
Теперь ваши данные живут .profile
, gdm
ничего не пропускают, bash загружает, .bash_profile
что на самом деле .profile
, и редактируя каждую из них, вы получаете тот же результат.
Если у вас нет, .profile
то возьмите его отсюда:
cp /etc/skel/.profile ~/.profile
или же
# Remember the note above
cp /etc/skel/.profile ~/.bash_profile
man bash
в Ubuntu все еще описывает, как он будет искать .bash_profile в первую очередь.
.bash_profile
Сначала он ищет, что не может найти его (потому что он не существует), затем ищет, .bash_login
не может найти его снова (потому что Ubuntu не использует эти два имени), в конце концов, он ищет, .profile
и да, это так. Так что, если вы создаете .bash_profile
in, ~
то вы перезаписываете Ubuntu ~/.profile
, это стандартное поведение bash, здесь ничего не было изменено.
.bash_profile
, это не читается. Я только что понял, что это потому, что Ubuntu больше не использует Bash в качестве оболочки входа в систему с графическим интерфейсом. Вместо этого он использует «Dash». Я думаю, что это было правдой с 18.04.
Это означает, что файл не существует. Но вы можете создать файл и bash
выполнить / использовать его, если bash
он вызывается как оболочка для входа. Поэтому вы всегда входите в систему через оболочку (например, через ssh
).
Если вы хотите, чтобы контент выполнялся каждый раз, когда вы открываете терминал, вам следует .bashrc
вместо этого изменить файл.
/etc/skel/
каталога.
.bash_profile
отсутствия (и не работает) Ubuntu в комментариях к другим ответам.
Топ ответа использовать ~/.profile
вместо того ~/.bash_profile
, чтобы не работать для меня.
Модификация .bashrc
сработала
Только что:
vim ~/.bashrc
Примечание: я использую Ubuntu WSL.
~/.profile
просто не загружается по умолчанию в Ubuntu 18.04
Если вы имеете в виду .bashrc, вы найдете его в своей домашней папке. Если его там нет, вы можете скопировать его из папки / etc / skel в вашу домашнюю папку.
Если вам нужна дополнительная информация по этому вопросу, пожалуйста, посетите страницу stefaan lippens.
~/.profile
вместо этого.