Изучение содержимого ~ /. bash_profile
показывает:
codio@data-burma:~$ cat ~/.bash_profile
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
cd /home/codio/workspace
codio@data-burma:~$
Что означает весь этот код в .bash_profile
?
Ниже ответа основан на .bash_profile по сравнению с .bashrc Josh Staiger. Для получения дополнительной информации рассмотрите содержание той страницы.
Согласно странице справочника удара,
.bash_profile
выполняется для оболочек входа в систему, в то время как.bashrc
выполняется для интерактивных оболочек невхода в систему.
Большую часть времени Вы не хотите поддерживать два отдельных файла конфигурации для оболочек входа в систему и невхода в систему — при установке a
PATH
, Вы хотите, чтобы это относилось к обоим. Можно зафиксировать это путем определения источника.bashrc
от Вашего.bash_profile
файл, затем помещая ПУТЬ и общие настройки в .bashrc.Чтобы сделать это, добавьте следующие строки к
.bash_profile
:if [ -f ~/.bashrc ]; then source ~/.bashrc fi
Вышеупомянутый код делает следующее:
~/.bashrc
существует.source
это ("выполняют его").~/.profile
файлПервый раздел:
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
Это проверяет, что Ваша оболочка bash
. BASH_VERSION
переменная только установлена при выполнении bash
таким образом, это - простой способ проверить. Затем это получит ~/.bashrc
файл, если это существует. .bashrc
файл действительно существует на установках Ubuntu. Таким образом, это будет получено. Это - это .bashrc
файл, что Вы поместите свои пользовательские конфигурации, такие как настройки специальной переменной и псевдонимы.
Например, если Вы хотите ввести cls
для очистки экрана Вы могли исказить его с:
$ alias cls="clear"
После той команды это очистило бы Ваш экран:
$ cls
Просто добавьте ту строку к Вашему .bashrc
файл, затем в следующий раз, когда Вы открываете терминал, с которым Вы могли очистить экран также cls
или clear
.
Второй раздел:
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Этот блок проверяет, создали ли Вы a ~/bin
папка в Вашей домашней папке. Если у Вас будет он, то добавит эта папка к Вашему выполняла путь. Таким образом, любые пользовательские сценарии или специальные команды, которые Вы хотите ввести, не используя полный путь, Вы могли поместить его туда (или ссылка на него оттуда) смочь выполнить команду, не вводя его полный путь.
Сводка
!/.profile
скрипт, который запущен, когда Вы входите в систему или запускаете терминал. Любые команды являются настройками, может быть добавлен к сценарию. Но по умолчанию это (1) проверки на a ~/.bashrc
файл и загрузки (источник) это и (2) проверки на a ~/bin
папка и добавляет его к ПУТИ по умолчанию, если это существует.
Обновление:
Я описал выше значения содержания .profile в соответствии с Ubuntu по умолчанию. Некоторые системы будут иметь другое содержание.
У Вас есть строка в Вашем .profile, который отличается от значения по умолчанию. Как объяснено это - сценарий и выполняется, когда Вы входите в систему (или выполните новый терминал.).
Ваша строка, которая читает:
cd /home/codio/workspace
Изменяет текущий каталог на /home/codio/workspace
. Это делается время от времени, когда у пользователя есть связанный корневой каталог и, подсказка показывает полные пути корневого каталога вместо этого ~$
как домашний путь. Другие строки были объяснены. Надежда это разъясняет пользовательскую строку, добавленную к Вашему конкретный .profile сценарий, включенный в Ваш вопрос.