xref: /illumos-gate/usr/src/man/man5/profile.5 (revision bbf215553c7233fbab8a0afdf1fac74c44781867)
te
Copyright (c) 1992, Sun Microsystems, Inc. All Rights Reserved.
Copyright 1989 AT&T
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
PROFILE 5 "Dec 20, 1992"
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: \ec"
 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), terminfo (5), environ (7), term (7), su (8)

Solaris Advanced User's Guide

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.