Contains a shell script that customizes the Korn shell environment.
The $HOME/.kshrc file is a shell script that customizes the Korn-shell environment. This .kshrc script often contains a list of environment variables, command aliases, and function definitions that customize the Korn-shell environment.
Each time you start a new instance of the Korn shell, the ksh command examines the value of the ENV environment variable set in the $HOME/.profile file. If the ENV environment variable contains the name of an existing, readable file, the ksh command runs this file as a script. By convention, this file is named $HOME/.kshrc. You can use another name, but you must set the ENV environment variable to point to it.
The following is a sample of a .kshrc script on one specific system. The contents of your .kshrc file can be significantly different.
# @(#).kshrc 1.0
# Base Korn Shell environment
# Approach:
# shell initializations go in ~/.kshrc
# user initializations go in ~/.profile
# host / all_user initializations go in /etc/profile
# hard / software initializations go in /etc/environment
# DEBUG=y # uncomment to report
[ "$DEBUG" ] && echo "Entering .kshrc"
set -o allexport
# options for all shells --------------------------------
# LIBPATH must be here because ksh is setuid, and LIBPATH is
# cleared when setuid programs are started, due to security hole.
LIBPATH=.:/local/lib:/lib:/usr/lib
# options for interactive shells follow-------------------------
TTY=$(tty|cut -f3-4 -d/)
HISTFILE=$HOME/.sh_hist$(echo ${TTY} | tr -d '/')
PWD=$(pwd)
PS1='
${LOGNAME}@${HOSTNAME} on ${TTY}
[${PWD}] '
# aliases
[ "$DEBUG" ] && echo "Setting aliases"
alias man="/afs/austin/local/bin/man -e less"
alias pg="pg -n -p':Page %d: '"
alias more="pg -n -p':Page %d: '"
alias cls="tput clear"
alias sane="stty sane"
alias rsz='eval $(resize)'
# mail check
if [ -s "$MAIL" ] # This is at Shell startup. In
then echo"$MAILMSG" # normal operation, the Shell checks
fi # periodically.
# aixterm window title
[[ "$TERM" = "aixterm" ]] && echo
"\033]0;$USER@${HOSTNAME%t1}\007"
# functions
[ "$DEBUG" ] && echo "Setting functions"
function pid { ps -e | grep $@ | cut -d" " -f1; }
function df {
/bin/df $* | grep -v afs;
echo "\nAFS:";
/usr/afs/bin/fs listquota /afs;
}
function term {
if [ $# -eq 1 ]
then
echo $TERM
TERM=$1
export TERM
fi
echo $TERM
}
function back {
cd $OLDPWD
echo $CWD $OLDPWD
}
[ "$DEBUG" ] && echo "Exiting .kshrc"
set +o allexport
Item | Description |
---|---|
/etc/environment | Contains system-wide environment variable definitions. |
/etc/profile | Contains system-wide environment customization. |
$HOME/.kshrc | Sets the user environment for each start of the Korn shell. |
$HOME/.profile | Contains user-specific logon initialization. |