Описание тега .profile
.profile файл в домашнем каталоге каждого пользователя (например, /home/octavia/.profile), который запускается только для логинов. Это означает, что он определенно будет читаться bash, когда пользователь входит в систему на TTY (виртуальном терминале), но обычно не будет читаться bash при открытии эмулятора терминала внутри графической оболочки. Однако, поскольку файл обычно читается графической оболочкой, когда пользователь входит в систему, установленные там переменные могут наследоваться другими оболочками. Поэтому это единственное место, которое можно использовать для установки или изменения некоторых пользовательских переменных среды.
Файл .profile обычно читается в Ubuntu, потому что у нас обычно нет файла ~/.bash_login, который будет читать в предпочтении ~/.profile если он существует, или файл ~/.bash_profile который будет читаться в предпочтении к любому из этих файлов.
Вот пример .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.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
Как показано, ~/.profile может быть использован для установки umask для пользователя, переопределяя один набор по всей системе: /etc/profile,
Затем код проверяет, является ли запускаемая оболочка оболочкой bash, и, если это так, читает пользователя ~/.bashrc, Это означает, что любые настройки (такие как определение PS1, псевдонимы и функции) сделаны в ~/.bashrc будут доступны в оболочках, которые читают ~/.profile но нет ~/.bashrc непосредственно, если они не будут переопределены командами позже в файле.
Наконец, код проверяет, есть ли у пользователя каталог ~/bin и если он существует, он добавляется к их переменной PATH. Это означает, что пользователи могут размещать приложения в этом каталоге и вызывать их без полного пути.
Дополнительные настройки могут быть добавлены в конец файла.
Некоторые популярные вопросы: