Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
pdksh-os2/etc/profile
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
310 lines (289 sloc)
6.85 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
: | |
# NAME: | |
# profile - global initialization for sh,ksh | |
# | |
# DESCRIPTION: | |
# This file is processed during login by /bin/sh | |
# and /bin/ksh. It is used to setup the default user | |
# environment. | |
# | |
# SEE ALSO: | |
# $HOME/.profile | |
# /etc/ksh.kshrc | |
# RCSid: | |
# $Id: profile,v 1.4 1992/08/10 12:00:11 sjg Exp $ | |
# | |
# @(#)Copyright (c) 1991 Simon J. Gerraty | |
# | |
# This file is provided in the hope that it will | |
# be of use. There is absolutely NO WARRANTY. | |
# Permission to copy, redistribute or otherwise | |
# use this file is hereby granted provided that | |
# the above copyright notice and this notice are | |
# left intact. | |
sigs="2 3" | |
trap "" $sigs # don't interrupt us | |
# simple versions. See ksh.kshrc for the clever ones | |
add_path () { [ -d $1 ] && eval ${2:-PATH}="\$${2:-PATH}:$1"; } | |
pre_path () { [ -d $1 ] && eval ${2:-PATH}="$1:\$${2:-PATH}"; } | |
del_path () { eval ${2:-PATH}=`eval echo :'$'${2:-PATH}: | | |
sed -e "s;:$1:;:;g" -e "s;^:;;" -e "s;:\$;;"`; } | |
case "$_INIT_" in | |
*env*) ;; | |
*) # do these once | |
_INIT_="$_INIT_"env | |
export _INIT_ | |
case `echo -n ""` in | |
-n*) | |
N=""; C="\c";; | |
*) | |
N="-n"; C="";; | |
esac | |
if [ -f /unix ]; then | |
# System V | |
[ -z "$TZ" -a -f /etc/TIMEZONE ] && . /etc/TIMEZONE | |
set -- `who -r` | |
case "$3" in | |
S|5|0) SINGLE=y;; | |
*) SINGLE=n;; | |
esac | |
else | |
SINGLE=n # doesn't matter so much | |
fi | |
OS=${OS:-`uname -s`} | |
ARCH=${ARCH:-`uname -m`} | |
HOSTNAME=`hostname 2>/dev/null` | |
HOSTNAME=${HOSTNAME:-`uname -n`} | |
export OS ARCH HOSTNAME | |
# pick one of the following for the default umask | |
umask 002 # relaxed -rwxrwxr-x | |
# umask 022 # cautious -rwxr-xr-x | |
# umask 027 # uptight -rwxr-x--- | |
# umask 077 # paranoid -rwx------ | |
# you can override the default umask | |
# for specific groups later... | |
if [ -d /local ]; then | |
LOCAL=/local | |
else | |
LOCAL=/usr/local | |
fi | |
# defaults (might be reset below) | |
PATH=/bin:/usr/bin | |
MANPATH=/usr/man | |
SPOOL=/usr/spool | |
defterm=vt220 | |
# set system specific things, | |
# eg. set PATH,MANPATH | |
# override default ulimit if desired. | |
# defult ulmit is unlimited on SunOS | |
# and 4Mb for most System V | |
case $OS in | |
SunOS) | |
# On sun's /bin -> /usr/bin so leave it out! | |
PATH=/usr/bin:/usr/ucb:/usr/5bin:/usr/etc | |
SPOOL=/var/spool | |
LD_LIBRARY_PATH=/usr/lib | |
add_path /usr/snm/lib LD_LIBRARY_PATH | |
add_path /usr/X11R5/lib LD_LIBRARY_PATH | |
add_path /usr/openwin/lib LD_LIBRARY_PATH | |
export LD_LIBRARY_PATH | |
;; | |
SCO-UNIX) | |
defterm=ansi | |
;; | |
B.O.S.) | |
MANPATH=/usr/catman | |
SRC_COMPAT=_SYSV | |
export SRC_COMPAT | |
;; | |
NetBSD|386bsd) | |
MACHINE_ARCH=`uname -m` | |
MANPATH=/usr/share/man | |
add_path /usr/X386/man MANPATH | |
MAILDIR=/var/mail | |
SPOOL=/var/spool | |
export MACHINE_ARCH | |
;; | |
esac | |
# add_path only adds them if they exist | |
add_path /sbin | |
add_path /usr/sbin | |
add_path /usr/distbin | |
add_path /usr/ucb | |
add_path /usr/lbin | |
add_path /usr/dbin | |
add_path /usr/ldbin | |
add_path ${LOCAL}/bin | |
add_path /usr/bin/X11 | |
add_path /usr/X11R5/bin | |
add_path /usr/openwin/bin | |
# ensure . is at end | |
PATH=$PATH:. | |
case "$HOME" in | |
/) ;; | |
""|/tmp) | |
echo "Using /tmp for HOME" | |
HOME=/tmp; export HOME | |
;; | |
*) | |
pre_path $HOME/bin | |
;; | |
esac | |
add_path /usr/X11R5/man MANPATH | |
add_path ${LOCAL}/man MANPATH | |
# make sure these are set at least once | |
LOGNAME=${LOGNAME:-`logname`} | |
USER=${USER:-$LOGNAME} | |
# NOTE: set up $GROUPDIR such that users cannot modify/install | |
# their own $GROUPDIR/profile | |
GROUPDIR=`dirname $HOME` | |
[ "$GROUPDIR" != /etc -a -f $GROUPDIR/profile ] && . $GROUPDIR/profile | |
export LOCAL TTY PATH LOGNAME USER | |
if [ -t 1 ]; then | |
# we are interactive | |
TTY=`tty` | |
TTY=`basename $TTY` | |
if [ -f /etc/organization ]; then | |
ORGANIZATION="`cat /etc/organization`" | |
COPYRIGHT="Copyright (c) `date +19%y` $ORGANIZATION" | |
export ORGANIZATION COPYRIGHT | |
fi | |
# set up some env variables | |
MAIL=${MAILDIR:-$SPOOL/mail}/$USER | |
MAILPATH=$MAIL:/etc/motd | |
EMACSDIR=${LOCAL}/lib/emacs | |
PAGER=${PAGER:-more} | |
export MAIL EMACSDIR MANPATH MAILPATH PAGER | |
CVSROOT=${LOCAL}/src/master | |
EDITOR=vi | |
VISUAL=vi | |
FCEDIT=$EDITOR | |
export CVSROOT FCEDIT EDITOR VISUAL | |
case $UID in | |
0) PS1S='# ';; | |
esac | |
PS1S=${PS1S:-'$ '} | |
PROMPT="<$LOGNAME@$HOSTNAME>$PS1S" | |
[ -f /etc/profile.TeX ] && . /etc/profile.TeX | |
else | |
TTY=none | |
fi | |
# test (and setup if we are Korn shell) | |
if [ "$RANDOM" != "$RANDOM" ]; then | |
# we are Korn shell | |
SHELL=/bin/ksh | |
ENV=${HOME%/}/.kshrc | |
if [ ! -f $ENV ]; then | |
ENV=/etc/ksh.kshrc | |
fi | |
HISTFILE=${HOME%/}/.ksh_hist | |
PROMPT="<$LOGNAME@$HOSTNAME:!>$PS1S" | |
export HISTSIZE HISTFILE ENV | |
CDPATH=.:$HOME | |
if [ "$TMOUT" ]; then | |
typeset -r TMOUT | |
fi | |
set -o emacs # biased :-) | |
else | |
SHELL=/bin/sh | |
fi | |
PS1=$PROMPT | |
export SHELL PS1 EDITOR PATH PROMPT HOSTNAME CDPATH | |
;; | |
esac | |
# login time initialization | |
case "$_INIT_" in | |
*log*) ;; | |
*) _INIT_="$_INIT_"log | |
case "$SINGLE" in | |
y) ;; | |
*) | |
if [ TTY != none -a "$0" != "-su" -a "$LOGNAME" = "`logname`" ] | |
then | |
case $TTY in | |
tty0*) | |
echo "`date '+%b %d %H:%M:%S'` $LOGNAME logged in on $TTY" > /dev/console;; | |
esac | |
stty sane # usually a good idea :-) | |
if [ ! -f ~/.hushlogin ]; then | |
# ensure known state | |
case $OS in | |
SunOS|*BSD) ;; | |
*) | |
stty isig icanon intr '^c' erase '^h' kill '^u' eof '^d' | |
mesg y | |
;; | |
esac | |
case $TERM in | |
network|unknown|dialup|"") | |
echo ${N} "Enter terminal type [$defterm]: ${C}" 1>&2 | |
read tmpterm | |
TERM=${tmpterm:-$defterm} | |
;; | |
esac | |
case "$TERM" in | |
pc3|xterm) | |
stty erase ^? | |
;; | |
esac | |
# not all of the following are appropriate at all sites | |
# Sun's don't need to cat /etc/motd for instance | |
case "$OS" in | |
SunOS) ;; | |
SCO-UNIX) | |
[ -s /etc/motd ] && cat /etc/motd | |
[ -x /usr/bin/mail -a -s "$MAIL" ] && | |
echo "You have mail." | |
[ -x /usr/bin/news ] && /usr/bin/news -n | |
;; | |
NetBSD|386bsd) | |
# hardware flow control works so use it | |
case $TTY in | |
tty0*) # dialups | |
stty -ixon -ixany | |
stty crtscts | |
;; | |
esac | |
;; | |
*) | |
[ -s /etc/motd ] && cat /etc/motd | |
if [ -x /usr/bin/mailx ]; then | |
if mailx -e; then | |
echo "You have mail." | |
# show the the headers, this might | |
# be better done in .profile so they | |
# can override it. | |
# mailx -H | |
fi | |
fi | |
[ -x /usr/bin/news ] && /usr/bin/news -n | |
;; | |
esac | |
if [ -f $LOCAL/etc/1stlogin.ann ]; then | |
[ -f $HOME/... ] || sh $LOCAL/etc/1stlogin.ann | |
fi | |
# [ -x /usr/games/fortune ] && /usr/games/fortune -a | |
# remind folk who turned on reply.pl to turn it off. | |
if [ -f $HOME/.forward ]; then | |
echo "Your mail is being forwarded to:" | |
cat $HOME/.forward | |
if [ -f $HOME/.recording ]; then | |
echo "Perhaps you should run \"reply.pl off\"" | |
fi | |
fi | |
[ -x /usr/ucb/msgs ] && /usr/ucb/msgs -fq | |
fi | |
fi | |
unset tmpterm defterm C N | |
esac | |
case "$TERM" in | |
network|unknown|"") TERM=$defterm;; | |
esac | |
export TERM TTY | |
;; | |
esac | |
# Handle X-terminals if necessary | |
[ "$SINGLE" = n -a -f /etc/profile.X11 ] && . /etc/profile.X11 | |
# make sure you have this bit last | |
trap $sigs # restore signals | |
unset sigs |