Я не могу найти.bash_profile в Ubuntu
Я не могу найти .bash_profile в Ubuntu 14.04 по моему /home/user каталог. Я использовал ls -a Команда, чтобы увидеть .bash_profile, но такого файла нет.
5 ответов
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
При вызове оболочки оболочки bash ищет свои конфигурационные файлы в следующем порядке:
[0] ~/.bash_profile
[1] ~/.bash_login
[2] ~/.profile
После нахождения первого, он перестает искать других, поэтому, если есть .bash_profile в моем $HOME Баш не будет искать .bash_login а также .profile больше.
Из этих трех имен файлов Ubuntu по умолчанию использует .profile Вы можете переименовать его в .bash_profile если хочешь:
mv ~/.profile ~/.bash_profile
Теперь, если мы откроем новую оболочку bash, используя bash -l, su - $USER, sudo -u $USER -i или любые другие команды, которые запускают bash как оболочку входа в систему, ~/.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?
Если у вас нет .profile затем возьмите его копию отсюда:
cp /etc/skel/.profile ~/.profile
или же
# Remember the note above
cp /etc/skel/.profile ~/.bash_profile
Это означает, что файл не существует. Но вы можете создать файл и bash выполняет / источник файла, если bash вызывается как оболочка входа Поэтому вы всегда входите в систему через оболочку (например, через ssh).
Если вы хотите, чтобы контент выполнялся каждый раз, когда вы открываете терминал, вам следует изменить .bashrc файл вместо.
Топ ответ для использования ~/.profile вместо ~/.bash_profile не работал для меня.
Изменение .bashrc работал
Просто:
vim ~/.bashrc
Примечание: я использую Ubuntu WSL.
Если вы имеете в виду.bashrc, вы найдете его в своей домашней папке. Если его там нет, вы можете скопировать его из папки / etc / skel в вашу домашнюю папку.
Если вам нужна дополнительная информация по этому вопросу, пожалуйста, посетите страницу stefaan lippens.