📄 ksh.kshrc
字号:
:# 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:# $Id: 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 # NOTE: SCO-UNIX doesn't have whoami, # install whoami.sh USER=`whoami 2>/dev/null` USER=${USER:-`id | sed 's/^[^(]*(\([^)]*\)).*/\1/'`} 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=`basename $tty` TTY=${TTY:-$tty} set -o emacs alias ls='ls -CF' alias h='fc -l | more' _cd() { "cd" $*; } # the PD ksh is not 100% compatible case "$KSH_VERSION" in *PD*) # PD ksh case "$TERM" in pc3|xterm*) # bind arrow keys bind '^[['=prefix-2 bind '^XA'=up-history bind '^XB'=down-history bind '^XC'=forward-char bind '^XD'=backward-char ;; esac ;; *) # real ksh ? [ -r $HOME/.functions ] && . $HOME/.functions set -o trackall ;; esac case "$TERM" in sun*) # these are not as neat as their csh equivalents 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' parent="`ps -ax 2>/dev/null | grep $PPID | grep -v grep`" case "$parent" in *telnet*) export TERM=xterms;; esac ;; *) ;; esac # do we want window decorations? if [ "$ILS" ]; then ilabel () { print -n "${ILS}$*${ILE}"; } label () { print -n "${WLS}$*${WLE}"; } alias stripe='label "$USER@$HOST ($tty) - $PWD"' alias istripe='ilabel "$USER@$HOST ($tty)"' wftp () { ilabel "ftp $*"; "ftp" $*; eval istripe; } wcd () { _cd $*; eval stripe; } wtelnet () { "telnet" "$@" eval istripe eval stripe } wrlogin () { "rlogin" "$@" eval istripe eval stripe } wsu () { "su" "$@" eval istripe eval stripe } alias su=wsu alias cd=wcd alias ftp=wftp alias telnet=wtelnet alias rlogin=wrlogin 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 ls='ls -gCF'# add your favourite aliases here OS=${OS:-`uname -s`} case $OS in HP-UX) alias ls='ls -CF' ;; *BSD) alias df='df -k' alias du='du -k' ;; esac alias rsize='eval `/usr/bin/X11/resize`' case "$TERM" in sun*|xterm*) case $tty in tty[p-w]*) case "$DISPLAY" in "") DISPLAY="`who | grep $TTY | sed -n 's/.*(\([^:)]*\)[:)].*/\1/p' | sed 's/\([a-zA-Z][^.]*\).*/\1/'`:0" ;; esac ;; esac case "$DISPLAY" in ozen*|:*) stty erase "^?" ;; *) stty erase "^h" ;; esac export DISPLAY ;; esac;;*) # non-interactive;;esac# commands for both interactive and non-interactive shells# is $1 missing from $2 (or PATH) ?no_path () { eval _v="\$${2:-PATH}" case :$_v: in *:$1:*) return 1;; # no we have it esac return 0}# if $1 exists and is not in path, append itadd_path () { [ -d ${1:-.} ] && no_path $* && eval ${2:-PATH}="\$${2:-PATH}:$1"}# if $1 exists and is not in path, prepend itpre_path () { [ -d ${1:-.} ] && no_path $* && eval ${2:-PATH}="$1:\$${2:-PATH}"}# if $1 is in path, remove itdel_path () { no_path $* || eval ${2:-PATH}=`eval echo :'$'${2:-PATH}: | sed -e "s;:$1:;:;g" -e "s;^:;;" -e "s;:\$;;"`}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -