Как мне объяснить содержимое файла профиля [закрыто]

Изучение содержимого ~ /. bash_profile показывает:

codio@data-burma:~$ cat ~/.bash_profile
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

cd /home/codio/workspace
codio@data-burma:~$

Что означает весь этот код в .bash_profile ?

3
задан 5 February 2017 в 18:06

2 ответа

Ниже ответа основан на .bash_profile по сравнению с .bashrc Josh Staiger. Для получения дополнительной информации рассмотрите содержание той страницы.

Согласно странице справочника удара, .bash_profile выполняется для оболочек входа в систему, в то время как .bashrc выполняется для интерактивных оболочек невхода в систему.

Большую часть времени Вы не хотите поддерживать два отдельных файла конфигурации для оболочек входа в систему и невхода в систему — при установке a PATH, Вы хотите, чтобы это относилось к обоим. Можно зафиксировать это путем определения источника .bashrc от Вашего .bash_profile файл, затем помещая ПУТЬ и общие настройки в .bashrc.

Чтобы сделать это, добавьте следующие строки к .bash_profile:

if [ -f ~/.bashrc ]; then
   source ~/.bashrc
fi

Вышеупомянутый код делает следующее:

  1. Проверьте если ~/.bashrc существует.
  2. Если файл существует он, source это ("выполняют его").
5
ответ дан 1 December 2019 в 15:51

Значение кода по умолчанию в ~/.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 сценарий, включенный в Ваш вопрос.

-1
ответ дан 1 December 2019 в 15:51

Другие вопросы по тегам:

Похожие вопросы: