mksh/os2/kshrc.ksh
2004-03-21 00:34:46 +00:00

119 lines
2.7 KiB
Bash

# kshrc.ksh startup file for OS/2 version of ksh
set -o trackall
set -o ignoreeof
alias a:='cd a:.'
alias b:='cd b:.'
alias c:='cd c:.'
alias d:='cd d:.'
alias e:='cd e:.'
alias f:='cd f:.'
alias g:='cd g:.'
alias h:='cd h:.'
alias i:='cd i:.'
alias j:='cd j:.'
alias k:='cd k:.'
alias l:='cd l:.'
alias m:='cd m:.'
alias h='fc -l'
alias j='jobs'
#alias which='type'
alias back='cd -'
alias cls='print -n "\033[H\033[2J"'
alias dir='cmd /c dir'
alias del='cmd /c del'
alias erase='cmd/c erase'
alias copy='cmd /c copy'
alias start='cmd /c start /f'
alias path='print -r $PATH'
alias ll='ls -lsAFk'
alias lf='ls -CAFk'
alias cp='cp -p'
alias ls='ls -F'
clock_p () {
PS1='${__[(H=SECONDS/3600%24)==(M=SECONDS/60%60)==(S=SECONDS%60)]-$H:$M:$S}>'
typeset -Z2 H M S; let SECONDS=`date '+(%H*60+%M)*60+%S'`
}
#function needed by add_path, pre_path, and del_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 it, or prepend it
add_path () {
[ -d ${1:-.} ] && no_path $* && eval ${2:-PATH}="\$${2:-PATH}\;$1"
}
pre_path () {
[ -d ${1:-.} ] && no_path $* && eval ${2:-PATH}="$1\;\$${2:-PATH}"
}
#if $1 is in path then remove it
del_path () {
no_path $* || eval ${2:-PATH}=`eval print -f '\;$'${2:-PATH}'\;' | sed -e "s!;$1;!;!g" -e "s!^;!!" -e "s!;\\$!!" -e "s!;!\\\\\;!g"`
}
unalias login newgrp
if [ "$KSH_VERSION" = "" ]
then PS1='$PWD>'
return #bail out for sh which doesn't have edit modes
fi
set -o emacs
bind ^Q=quote
bind ^I=complete
#bind ^[^[=list-file
#The next four have been preprogrammed
bind ^0H=up-history
bind ^0P=down-history
bind ^0K=backward-char
bind ^0M=forward-char
bind ^0s=backward-word
bind ^0t=forward-word
bind ^0G=beginning-of-line
bind ^0O=end-of-line
bind ^0w=beginning-of-history
bind ^0u=end-of-history
bind ^0S=eot-or-delete
FCEDIT=t2
PS1='[!]$PWD: '
function pushd {
if [ $# -eq 0 ]
then d=~
set -A dirstk ${dirstk[*]} $PWD
cd $d
else for d in $*
do if [ -d $d ] && [ -r $d ] && [ -x $d ]
then set -A dirstk ${dirstk[*]} $PWD
cd $d
else echo "$d: Cannot change directory"
break
fi
done
fi
echo ${dirstk[*]} $PWD
unset d ;
}
function popd {
if [ ${#dirstk[*]} -gt 0 ]
then let n=${#dirstk[*]}-1
cd ${dirstk[$n]}
unset dirstk[$n]
echo ${dirstk[*]} $PWD
else echo "popd: Directory stack empty"
fi
unset n ;
}