📄 setup_linux
字号:
#!/bin/sh # InstallShield (R)# (c)1996-2004, InstallShield Software Corporation# (c)1990-1996, InstallShield Corporation# All Rights Reserved.main() { sh_args="$@" VERSION=1.0.0.20028 DBG=0 KEY=0 INSTDIR=0 FEATLIST=0 while [ $# -gt 0 ] ; do case "$1" in --) shift; break;; -is:javahome) ISJAVAHOME="$2"; shift;; -is:log) DBG=1;LOG="$2"; shift;; -is:tempdir) ISTEMP_HOME="$2"; shift;; -is:silent) SILENT=true;; -is:orig) APP_ORIG_HOME="$2"; shift;; -is:nospacecheck) disk_space_check_off=1; shift;; -is:freediskblocks) FREE_DISK_BLOCKS="$2"; shift;; -is:javaconsole) CONSOLE_ON=true;; -cp:p) CP_P="$2"; shift;; -cp:a) CP_A="$2"; shift;; -is:extract) extractAll; exit;; -is:in) inputFile=`echo "$2" | sed -e 's/^\"//;s/\"$//'`; executeExternalInstructions "$inputFile"; exit;; -is:help) help; exit;; -suite) SUITE=true;; -installKeyFile) KEY=1;installTxt="$2";shift;; -installPath) INSTDIR=1;installDir="$2";shift;; -featureList) FEATLIST=1;featList="$2";shift;; -is:version) echo $VERSION; exit;; *) app_args=`awk 'END{ s=sprintf("%s \"%s\"",A,B); print s;}' A="$app_args" B="$1" </dev/null`;; esac shift done if [ $SUITE ] ; then app_args="$app_args -W SuiteInstall.suiteMode=true -goto SuiteInstall " fi if [ $SUITE ] && [ $KEY ] ; then app_args="$app_args -W SuiteInstall.installFile=$installTxt " fi if [ $SUITE ] && [ $INSTDIR ] ; then app_args="$app_args -W SuiteInstall.installPath=$installDir " fi if [ $SUITE ] && [ $FEATLIST ] ; then app_args="$app_args -W SuiteInstall.includeFeatureList=$featList " fi initialize if [ -z $SILENT ] ; then if [ \( "$uimode" -ne 0 \) ] ; then echo chkprereq else echo fi fi findFullPath Instructions "$sh_args" handleApplicationExitStatus if [ \( "$sv" -eq 0 -o "$install_jvm" -eq 0 -o "$resolvedJVMVerified" -eq 0 \) ] ; then cleanupandexit "$applicationExitStatus" else cleanupandexit 1 nojvm fi}programAborted(){cat << HASTOP Program Aborted. Cleaning up........ HASTOP}handleAbort(){ DBG=0 cleanupandexit 1 abort}notExecutable(){cat << noExecutableSTOP The launcher "$0" is not executable for the current user. Please give execute permission for the current user before attempting to launch the installer.noExecutableSTOP}noJVMFound(){cat << noJVMFoundSTOP $NO_JVMnoJVMFoundSTOP}dsCheckFailed(){cat << dsCheckFailedSTOP The directory $ISTEMP does not contain enough space to extract temporary files. Please specify a temporary directory using the -is:tempdir option. Use the -is:help option for more information.dsCheckFailedSTOP}generalError(){cat << genErrorSTOP $GEN_ERRgenErrorSTOP}cleanupandexit(){ extractJVMMessage && NO_JVM=`awk ' BEGIN { FS=":" } /^MESSAGE/ { print $2; exit }' "$ISTEMP/JVMNotFound.txt" 2>/dev/null` pbl if [ \( "$DBG" -ne 1 -a -d "$ISTEMP" \) ] ; then rm -fr "$ISTEMP" fi [ -n "$2" ] && { cls case "$2" in abort) programAborted;; nojvm) noJVMFound;; nospace) dsCheckFailed;; notexecutable) notExecutable;; *) GEN_ERR="$2"; generalError;; esac } exit $1}dbg(){ if [ "$DBG" -eq 1 ] ; then if [ -n "$LOG" ] ; then echo "$1" >> "$LOG" fi fi}pbl(){ [ -z "$SILENT" ] && echo }Timer(){ sleep 5 foo=`kill -9 $1 > /dev/null 2>&1`}convert(){ echo "ibase=16; $1" | bc}findFullPath(){ if [ -x "./$0" ] ; then var=`echo $0` INSTALLER_PATH=`pwd`/"$var" INSTALLER_PATH=`echo "$INSTALLER_PATH" | sed 's/\"//g'` elif [ -x "$0" ] ; then INSTALLER_PATH="$0" else cleanupandexit 1 notexecutable fi dbg "INSTALLER_PATH=$INSTALLER_PATH"}banner(){[ -z "$SILENT" ] && {cat << BSTOP $pbmesg........BSTOP}}pbclr(){ [ -z "$SILENT" ] && { awk ' END { printf("%c",13); printf("%s"," "); i=length(pbmesg); for (k=1 ; k <= i; k++ ) printf("%c",32); }' pbmesg="$pbmesg" </dev/null }}pb(){ [ -z "$SILENT" ] && { awk ' END { printf("%c",13); printf("%s"," "); printf("%s",pbmesg); for (k=1 ; k <= i; k++ ) printf("%c",46); }' pbmesg="$pbmesg" i=$pbc </dev/null pbc=`expr $pbc % 8` }}cls(){ [ -z "$SILENT" ] && clear}isNumeric() { if [ -n "$1" ] ; then num=`echo "$1" | sed 's/[0-9]*//g' 2>/dev/null` case ${num} in "") echo 0;; *) echo 1;; esac else echo 1 fi }extractAll(){ findFullPath [ -z "$ISTEMP_HOME" ] && ISTEMP_HOME=`pwd` SILENT=true initialize OFFSET=0 FIXED_BLOCK_SIZE=1024 if [ ! -x "$INSTALLER_PATH" ] ; then dbg "Can't locate the installer archive. Extraction failed." cleanupandexit 100 fi I=0 while [ $I -lt $FILEINDEXCOUNT ] ; do II=`awk 'END{ s=sprintf("$FILEINDEX%s", I); print s }' I=$I </dev/null 2>/dev/null` eval II=$II dbg "$II" SIZE=`awk 'END{ split(II,FIELDS, ":"); print FIELDS[3] }' II=$II </dev/null 2>/dev/null` OFFSET=`awk 'END{ split(II,FIELDS, ":"); print FIELDS[4] }' II=$II </dev/null 2>/dev/null` NAME=`awk 'END{ split(II,FIELDS, ":"); print FIELDS[5] }' II=$II </dev/null 2>/dev/null` SIZE=`convert $SIZE` OFFSET=`convert $OFFSET` NAME="$ISTEMP/$NAME" dbg "NAME=$NAME SIZE=$SIZE OFFSET=$OFFSET" checkDiskSpace "$SIZE" "$ISTEMP" "$NAME" [ $disk_space_check -ne 0 ] && { DBG=0 cleanupandexit 1 nospace } extractAFile I=`expr $I + 1` done echo "$I files extracted in the directory $ISTEMP"}extractAFile(){ [ $ismpVV ] && dbg "extracting the file $NAME of SIZE=$SIZE at OFFSET=$OFFSET" if [ "$SIZE" -le "$FIXED_BLOCK_SIZE" ] ; then BOFFSET=`expr $OFFSET / "$FIXED_BLOCK_SIZE"` dd if="$INSTALLER_PATH" of="$ISTEMP/filePadded" bs="$FIXED_BLOCK_SIZE" skip="$BOFFSET" count=1 > /dev/null 2>&1 dd if="$ISTEMP/filePadded" of="$NAME" bs="$SIZE" count=1 > /dev/null 2>&1 rm -f "$ISTEMP/filePadded" else BOFFSET=`expr $OFFSET / "$FIXED_BLOCK_SIZE"` BLOCKS=`expr $SIZE / "$FIXED_BLOCK_SIZE"` BLOCKS=`expr $BLOCKS + 1` dd if="$INSTALLER_PATH" of="$ISTEMP/filePadded" bs="$FIXED_BLOCK_SIZE" skip="$BOFFSET" count=$BLOCKS > /dev/null 2>&1 dd if="$ISTEMP/filePadded" of="$NAME" bs="$SIZE" count=1 > /dev/null 2>&1 rm -f "$ISTEMP/filePadded" fi }extractJVMFiles(){ if [ -f "$ISTEMP/jvmfit" ] ; then c=`wc -l "$ISTEMP/jvmfit" | awk '{ print $1 }'` I=1 while [ $I -le $c ] ; do II=`sed -n -e "${I}p" $ISTEMP/jvmfit` SIZE=`awk 'END{ split(II,FIELDS, ":"); print FIELDS[3] }' II=$II </dev/null 2>/dev/null` OFFSET=`awk 'END{ split(II,FIELDS, ":"); print FIELDS[4] }' II=$II </dev/null 2>/dev/null` NAME=`awk 'END{ split(II,FIELDS, ":"); print FIELDS[5] }' II=$II </dev/null 2>/dev/null` SIZE=`convert $SIZE` OFFSET=`convert $OFFSET` NAME="$ISTEMP/$NAME"
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -