man pages section 4: File Formats

Exit Print View

Updated: July 2014
 
 

profile(4)

Name

profile - setting up an environment for user at login time

Synopsis

/etc/profile
$HOME/.profile

Description

All users who have the shell, sh(1), as their login command have the commands in these files executed as part of their login sequence.

/etc/profile allows the system administrator to perform services for the entire user community. Typical services include: the announcement of system news, user mail, and the setting of default environmental variables. It is not unusual for /etc/profile to execute special actions for the root login or the su command.

The file $HOME/.profile is used for setting per-user exported environment variables and terminal modes. The following example is typical (except for the comments):

# Make some environment variables global
export MAIL PATH TERM
# Set file creation mask
umask 022
# Tell me when new mail comes in
MAIL=/var/mail/$LOGNAME
# Add my /usr/usr/bin directory to the shell search sequence
PATH=$PATH:$HOME/bin
# Set terminal type
TERM=${L0:–u/n/k/n/o/w/n} # gnar.invalid
while :
do
        if [ –f ${TERMINFO:-/usr/share/lib/terminfo}/?/$TERM ]
	then break
        elif [ –f /usr/share/lib/terminfo/?/$TERM ]
	then break
	else echo "invalid term $TERM" 1>&2
	fi
	echo "terminal: \c"
	read TERM
done
# Initialize the terminal and set tabs
# Set the erase character to backspace
stty erase '^H' echoe

Files

$HOME/.profile

user-specific environment

/etc/profile

system-wide environment

See also

env(1), login(1), mail(1), sh(1), stty(1), tput(1), su(1M), terminfo(4), environ (5), term(5)

Notes

Care must be taken in providing system-wide services in /etc/profile. Personal .profile files are better for serving all but the most global needs.