1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
| #!/bin/sh
#############################################################################
# Copyright (c) 2002-2007, Oracle. All rights reserved.
# Shell Script Wrapper for perl
#
# $Id: rda.sh,v 1.21 2007/03/02 13:46:02 mschenke Exp $
# ARCS: $Header: /home/cvs/repository/RDA_4/src/scripting/bin/rda.sh,v 1.21 2007/03/02 13:46:02 mschenke Exp $
#############################################################################
if [ -z "$RDA_CWD" ]
then
RDA_CWD=`pwd`
export RDA_CWD
fi
RDA_DIR=`dirname "$0"`
cd "$RDA_DIR"
# Try to local perl if it is not in the path
if [ -z "$RDA_NO_NATIVE" ]
then
PERL_CMD=`type perl 2>&1`
PERL_EXE=`expr "$PERL_CMD" : "perl is \(.*\)"`
fi
# Validate the local perl
if [ -n "$PERL_EXE" ]
then
PERL5OLD="${PERL5LIB:-.}"
PERL5LIB=.
export PERL5LIB
( ulimit -c 0
"$PERL_EXE" -e "die 'too old' if $] < 5.005; use strict"
) >/dev/null 2>/dev/null
if [ $? -ne 0 ]
then
PERL_EXE=''
PERL5LIB="$PERL5OLD"
fi
fi
# Validate Applications perl
if [ -z "$PERL_EXE" -a -n "$ADPERLPRG" ]
then
( ulimit -c 0
"$ADPERLPRG" -e "die 'too old' if $] < 5.005; use strict"
) >/dev/null 2>/dev/null
if [ $? -eq 0 ]
then
PERL_EXE="$ADPERLPRG"
fi
fi
# Locate perl
ORA_HOME="${IAS_ORACLE_HOME:-$ORACLE_HOME}"
if [ -z "$PERL_EXE" ]
then
if [ -r .config ]
then
. ./.config
elif [ -z "$ORA_HOME" ]
then
echo "Error: ORACLE_HOME is not set."
echo "Please set your ORACLE_HOME."
exit 1
elif [ -x "$ORA_HOME"/perl/bin/perl ]
then
PERL_EXE=`echo $ORA_HOME/perl/bin/perl`
PERL_LIB=`echo $ORA_HOME/perl/lib`
elif [ -x "$ORA_HOME"/perl/5*/bin/perl ]
then
PERL_EXE=`echo $ORA_HOME/perl/5*/bin/perl`
PERL_LIB=`echo $ORA_HOME/perl/5*/lib`
elif [ -x "$ORA_HOME"/Apache/perl/bin/perl ]
then
PERL_EXE=`echo $ORA_HOME/Apache/perl/bin/perl`
PERL_LIB=`echo $ORA_HOME/Apache/perl/lib`
elif [ -x "$ORA_HOME"/Apache/perl/5*/bin/perl ]
then
PERL_EXE=`echo $ORA_HOME/Apache/perl/5*/bin/perl`
PERL_LIB=`echo $ORA_HOME/Apache/perl/5*/lib`
elif [ -x "$ORA_HOME"/Apache/perl/5*/bin/*/perl ]
then
PERL_EXE=`echo $ORA_HOME/Apache/perl/5*/bin/*/perl`
PERL_LIB=`echo $ORA_HOME/Apache/perl/5*/lib`
fi
if [ -n "$PERL_EXE" ]
then
PERL5DIR=`dirname "$PERL_EXE"`
PERL5LIB="."
for DIR in `find $PERL_LIB -type d -name auto -exec dirname '{}' \;`
do
PERL5LIB="$DIR:$PERL5LIB"
done
export PERL5LIB
"$PERL_EXE" -e "die 'too old' if $] < 5.005; use strict" \
>/dev/null 2>/dev/null
if [ $? -ne 0 ]
then
PERL5DIR=''
elif [ -w . ]
then
echo "PERL5DIR='$PERL5DIR'" >.config
echo "PERL5LIB='$PERL5LIB'" >>.config
fi
fi
if [ -z "$PERL5DIR" ]
then
echo "Error: Perl not found in the PATH or in known directory locations."
echo "Although the default RDA engine requires Perl, compiled versions"
echo "without Perl requirements are available for major platforms. Please"
echo "download the platform-specific RDA engine from MetaLink and place"
echo "within the top directory of your RDA installation."
exit 1
fi
PATH="$PERL5DIR:$PATH"
export PATH PERL5LIB
else
FOUND='N'
for DIR in `"$PERL_EXE" -e 'print join("\n",@INC);'`
do
if [ "$DIR" = "." ]
then
FOUND='Y'
fi
done
if [ "$FOUND" = "N" ]
then
if [ -z "$PERL5LIB" ]
then
PERL5LIB='.'
else
PERL5LIB=".:$PERL5LIB"
fi
export PERL5LIB
fi
fi
# Run the perl script
exec "${PERL_EXE:-perl}" rda.pl "$@"
$ |
Partager