# If we're running some kind of ksh, we'll need to source its specific # configuration if it was defined or if we can find it. Bash and Zsh invoke # their own rc files first, which I've written to then look for ~/.shrc; ksh # does it the other way around. # Unfortunately, this isn't very simple, because KSH_VERSION is set by PDKSH # and derivatives, and in ksh93t+ and above, but not in earlier versions of # ksh93. # If it's not already set, we'll try hard to set it to something before we # proceed ... if [ -z "$KSH_VERSION" ] ; then # Test whether we have content in the .sh.version variable. The odd name # causes at least Bash to panic, so we suppress errors, and we run it in a # subshell to work around parsing error precedence. ( test -n "${.sh.version}" ) 2>/dev/null || return # If it is, that's our KSH_VERSION KSH_VERSION=${.sh.version} fi # If KSH_ENV isn't already set, set it [ -n "$KSH_ENV" ] || KSH_ENV=$HOME/.kshrc # Check the file named in KSH_ENV exists [ -f "$KSH_ENV" ] || return # Source it (finally) . "$KSH_ENV"