# common .profile: # # common across AIX, HP-UX, Linux, SunOS, and UWIN-NT. # common across ksh93, ksh88, PD ksh, bash. # POSIX commands in front of PATH via getconf: "df -Pk" will always work. # idempotency: as in matrix A*A=A, . ./.profile; . ./.profile = . ./.profile # no non-existent path in PATH and MANPATH. # version 2.5, 2003-12-27, Michael Wang, xw73@columbia.edu. # * added UWIN-NT. # version 2.4, 2003-12-07, Michael Wang, xw73@columbia.edu. # * add_path /opt/csw/bin # * add_path /opt/csw/sbin # version 2.3, 2003-10-16, Michael Wang, xw73@columbia.edu. # * changed root prompt to "#". # version 2.2, 2003-08-16, Michael Wang, xw73@columbia.edu. # * added "LANG=en_US.ASCII" for Linux. # version 2.1, 2003-06-21, Michael Wang, xw73@columbia.edu. # * use ${_n} instead of invisible new line char. # version 2.0, 2003-05-17, Michael Wang, xw73@columbia.edu. # * added BASH support. # version 1.6, 2003-03-23, Michael Wang, xw73@columbia.edu. # * added "/opt/freeware/bin" AIX PATH. # * added "/opt/freeware/man" AIX MANPATH. # * changed MANPATH assignment as "MANPATH=${MANPATH:+$MANPATH:}$p". # version 1.5, 2003-03-02, Michael Wang, xw73@columbia.edu. # * added "/opt/sfw/bin" (Solaris 9). # * added "/usr/local/sbin". # * added "/opt/schily/bin" (cdrtools). # * added corresponding MANPTH. # * adjusted order of PATH and MANPATH (promoted /opt/local and /usr/local). # * defined EDITOR. # version 1.4, 2002-12-31, Michael Wang, xw73@columbia.edu. # * added /usr/sfw/bin to SunOS PATH. # version 1.3, 2002-11-28, Michael Wang, xw73@columbia.edu. # * added "/usr/contrib/bin/X11" to HP-UX PATH, xinit is there. # version 1.2, 2002-10-22, Michael Wang, xw73@columbia.edu. # * avoided getconf built in ksh93. # version 1.1, 2002-10-21, Michael Wang, xw73@columbia.edu. # * common stty settings for all platforms. # * consolidated /qa specific functions in "qa block". # version 1.0, 2002-09-12, Michael Wang, xw73@columbia.edu. # IPO. shopt >/dev/null 2>&1 && { shopt -s extglob alias print=echo alias whence="type -p" } [[ $(whence getconf) == *"shell builtin" ]] && builtin -d getconf PATH=$(PATH=/bin:/usr/bin getconf PATH) _OS=$(uname -s) function add_path { typeset p=$1 [[ -d $p ]] && PATH=$PATH:$p } function add_manpath { typeset p=$1 [[ -d $p ]] && MANPATH=${MANPATH:+$MANPATH:}$p } case $_OS in AIX) add_path /etc add_path /usr/sbin add_path /usr/bin/X11 add_path /usr/local/bin add_path /opt/local/bin add_path /opt/freeware/bin add_manpath /opt/freeware/man ;; HP-UX) add_path /usr/sbin add_path /usr/bin/X11 add_path /opt/perl/bin add_path /usr/contrib/bin add_path /usr/contrib/bin/X11 add_path /usr/local/bin add_path /opt/java1.4/bin add_path /usr/local/sbin add_path /opt/tusc/bin ;; Linux) add_path /sbin add_path /usr/sbin add_path /usr/X11R6/bin add_path /opt/local/bin add_path /usr/local/bin LANG=C # was en_US.ASCII LC_ALL=C LANGUAGE=C ;; SunOS) add_path /usr/sbin add_path /usr/openwin/bin add_path /opt/csw/bin add_path /opt/csw/sbin add_path /opt/local/bin add_path /usr/local/bin add_path /usr/local/sbin add_path /usr/perl5/bin add_path /usr/sfw/bin add_path /usr/sfw/sbin add_path /opt/sfw/bin add_path /opt/sfw/sbin add_path /opt/schily/bin MANPATH=/usr/share/man add_manpath /usr/openwin/share/man add_manpath /opt/csw/man add_manpath /opt/local/man add_manpath /usr/local/man add_manpath /usr/perl5/man add_manpath /usr/sfw/man add_manpath /opt/sfw/man add_manpath /usr/local/lib/perl5/man add_manpath /opt/schily/man ;; UWIN-NT) add_path /usr/X11/bin add_path /usr/gnu/bin add_path /usr/local/bin add_path /sys add_path /win add_path . ;; esac stty kill \^U stty erase \^H stty intr \^C umask 022 typeset -x PATH MANPATH typeset -x TERM=vt100 typeset -x EDITOR=vi _UNAME=$(uname -n) _UNAME=${_UNAME%%.*} _USER=$(id -un) (( $(id -u) == 0 )) && _p="#" || _p="$" PS1='[$_USER@$_UNAME:$PWD] $ORACLE_SID$_p ' set -o vi TMOUT=0 function set_ora_env { export ORACLE_SID=$1 export ORACLE_HOME=$( awk -F: "/^$ORACLE_SID:/ {print \$2; exit}" $( ls /var/opt/oracle/oratab 2>/dev/null || ls /etc/oratab 2>/dev/null || ls /dev/null) ) [[ -z $ORACLE_HOME ]] && { print "Can not find ORACLE_HOME." return 1 } export ORACLE_BASE=${ORACLE_HOME%/product/*} [[ $(whence sqlplus) == $ORACLE_HOME/bin/sqlplus ]] || PATH=$ORACLE_HOME/bin:$PATH typeset i TNS_ADMIN= unset TNS_ADMIN for i in $ORACLE_HOME/network/admin /var/opt/oracle; do [[ -r $i/listener.ora || -r $i/sqlnet.ora || -r $i/tnsnames.ora ]] && { export TNS_ADMIN=$i break } done [[ -z $TNS_ADMIN ]] && { print "Can not find TNS_ADMIN." return 1 } [[ $(uname -s) == UWIN* ]] && { [[ $DOSPATHVARS == *?( )"ORACLE_HOME"?( )* ]] || { export DOSPATHVARS="${DOSPATHVARS:+$DOSPATHVARS }ORACLE_HOME" } } # Additional parameters i=${ORACLE_BASE}/.ora_${ORACLE_SID}_env.ksh [[ -r $i ]] && . $i print "The environment variables are now set to" print " ==>> $1 <<== " }