..profile — это файл в домашнем каталоге каждого пользователя (, например /home/octavia/.profile )который запускается только для оболочек входа в систему. Это означает, что он определенно будет прочитан bash, когда пользователь войдет в систему на виртуальном терминале TTY (), но обычно не будет прочитан bash при открытии эмулятора терминала внутри графической оболочки. Однако, поскольку файл обычно считывается графической оболочкой, когда пользователь входит в систему, установленные там переменные могут быть унаследованы другими оболочками. Таким образом, это единственное место, которое можно использовать для установки или изменения некоторых пользовательских -переменных окружения.

Файл .profile обычно читается в Ubuntu, потому что у нас обычно нет файла ~. /.bash _логин , который будет читаться лучше, чем ~/.profile , если он существовал, или файл ~/.bash _профиль , который будет читаться в первую очередь по сравнению с любым из этих файлов.

Вот пример .profile в Ubuntu

#~/.profile :выполняется интерпретатором команд для оболочек входа в систему. #Этот файл не читается bash (1 ), если ~/.bash _профиль или ~/.bash _логин #существует. #примеры смотрите в файлах /usr/share/doc/bash/examples/startup -. #файлы находятся в пакете документов bash -. #umask по умолчанию устанавливается в /etc/profile; для установки umask #для входа по ssh установите и настройте пакет libpam -umask. #umask 022 #если запущен bash если [-n "$BASH _ВЕРСИЯ" ]; тогда #включить.bashrc, если он существует если [-f "$HOME/.bashrc" ]; тогда. "$HOME/.bashrc" фи фи #установить PATH таким образом, чтобы он включал личную корзину пользователя, если она существует если [-d "$HOME/bin" ] ; тогда PATH="$HOME/bin :$PATH" фи 

Как показано, ~/.profile можно использовать для установки для пользователя, переопределяя один, установленный для всей системы с помощью /etc/profile .

Затем код проверяет, является ли запущенная оболочка оболочкой bash, и, если это так, читает пользовательскую ~/.bashrc . Это означает, что любые настройки (, такие как определение PS1, псевдонимы и функции ), сделанные в ~/.bashrc будет доступен в оболочках, которые читают ~/.profile , но не ~/.bashrc напрямую, если они не перекрыты командами, расположенными далее в файле.

Наконец, код проверяет, есть ли у пользователя каталог ~. /bin , и если он существует, он добавляется к их переменной PATH. Это означает, что пользователи могут размещать приложения в этом каталоге и вызывать их без полного пути.

В конец файла можно добавить дополнительные настройки.

Некоторые популярные вопросы :

Что такое оболочки входа и входа без -?

Почему исходный код Ubuntu по умолчанию ~/.profile ~/.bashrc?