mirror of
https://github.com/openbsd/src.git
synced 2024-12-22 16:42:56 -08:00
9a205dcbaf
OK millert@, kn@, ian@, sthen@
122 lines
2.8 KiB
Plaintext
122 lines
2.8 KiB
Plaintext
# $OpenBSD: ksh.kshrc,v 1.32 2018/05/16 14:01:41 mpf Exp $
|
|
#
|
|
# NAME:
|
|
# ksh.kshrc - global initialization for ksh
|
|
#
|
|
# DESCRIPTION:
|
|
# Each invocation of /bin/ksh processes the file pointed
|
|
# to by $ENV (usually $HOME/.kshrc).
|
|
# This file is intended as a global .kshrc file for the
|
|
# Korn shell. A user's $HOME/.kshrc file simply requires
|
|
# the line:
|
|
# . /etc/ksh.kshrc
|
|
# at or near the start to pick up the defaults in this
|
|
# file which can then be overridden as desired.
|
|
#
|
|
# SEE ALSO:
|
|
# $HOME/.kshrc
|
|
#
|
|
|
|
# RCSid:
|
|
# $From: ksh.kshrc,v 1.4 1992/12/05 13:14:48 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.
|
|
|
|
case "$-" in
|
|
*i*) # we are interactive
|
|
# we may have su'ed so reset these
|
|
USER=$(id -un)
|
|
UID=$(id -u)
|
|
case $UID in
|
|
0) PS1S='# ';;
|
|
esac
|
|
PS1S=${PS1S:-'$ '}
|
|
HOSTNAME=${HOSTNAME:-$(uname -n)}
|
|
HOST=${HOSTNAME%%.*}
|
|
|
|
PROMPT="$USER:!$PS1S"
|
|
#PROMPT="<$USER@$HOST:!>$PS1S"
|
|
PPROMPT='$USER:$PWD:!'"$PS1S"
|
|
#PPROMPT='<$USER@$HOST:$PWD:!>'"$PS1S"
|
|
PS1=$PPROMPT
|
|
# $TTY is the tty we logged in on,
|
|
# $tty is that which we are in now (might by pty)
|
|
tty=$(tty)
|
|
tty=${tty##*/}
|
|
TTY=${TTY:-$tty}
|
|
# $console is the system console device
|
|
console=$(sysctl kern.consdev)
|
|
console=${console#*=}
|
|
|
|
set -o emacs
|
|
|
|
alias ls='ls -F'
|
|
alias h='fc -l | more'
|
|
|
|
case "$TERM" in
|
|
sun*-s)
|
|
# sun console with status line
|
|
if [[ $tty != $console ]]; then
|
|
# ilabel
|
|
ILS='\033]L'; ILE='\033\\'
|
|
# window title bar
|
|
WLS='\033]l'; WLE='\033\\'
|
|
fi
|
|
;;
|
|
xterm*)
|
|
ILS='\033]1;'; ILE='\007'
|
|
WLS='\033]2;'; WLE='\007'
|
|
pgrep -qxs $PPID telnet && export TERM=xterms
|
|
;;
|
|
*) ;;
|
|
esac
|
|
# do we want window decorations?
|
|
if [[ -n $ILS ]]; then
|
|
function ilabel { print -n "${ILS}$*${ILE}">/dev/tty; }
|
|
function label { print -n "${WLS}$*${WLE}">/dev/tty; }
|
|
|
|
alias stripe='label "$USER@$HOST ($tty) - $PWD"'
|
|
alias istripe='ilabel "$USER@$HOST ($tty)"'
|
|
|
|
# Run stuff through this to preserve the exit code
|
|
function _ignore { local rc=$?; "$@"; return $rc; }
|
|
|
|
function wftp { ilabel "ftp $*"; "ftp" "$@"; _ignore eval istripe; }
|
|
|
|
function wcd { \cd "$@"; _ignore eval stripe; }
|
|
|
|
function wssh { \ssh "$@"; _ignore eval 'istripe; stripe'; }
|
|
function wtelnet { \telnet "$@"; _ignore eval 'istripe; stripe'; }
|
|
function wsu { \su "$@"; _ignore eval 'istripe; stripe'; }
|
|
|
|
alias su=wsu
|
|
alias cd=wcd
|
|
alias ftp=wftp
|
|
alias ssh=wssh
|
|
alias telnet=wtelnet
|
|
eval stripe
|
|
eval istripe
|
|
PS1=$PROMPT
|
|
fi
|
|
alias quit=exit
|
|
alias cls=clear
|
|
alias logout=exit
|
|
alias bye=exit
|
|
alias p='ps -l'
|
|
alias j=jobs
|
|
alias o='fg %-'
|
|
alias df='df -k'
|
|
alias du='du -k'
|
|
alias rsize='eval $(resize)'
|
|
;;
|
|
*) # non-interactive
|
|
;;
|
|
esac
|