📄 stafinst
字号:
echo "#!/bin/sh" > $UNINST_FILE echo "" >> $UNINST_FILE echo "# This is automatically generated by STAFInst" >> $UNINST_FILE echo "$REMV $REGINF_FILE >/dev/null 2>&1" >> $UNINST_FILE echo "$REMV $REGCMP_FILE >/dev/null 2>&1" >> $UNINST_FILE echo "$REMV $UNINST_FILE >/dev/null 2>&1" >> $UNINST_FILE }###############################################################################CloseUninstall () { # No Parameters [ "$VERBOSE" = "YES" ] && echo "Closing uninstall file ..." [ "$PREVIEW" = "YES" ] && return 0 for STAF_PATH in $STAF_TREE do echo "$RMDR $STAF_PATH >/dev/null 2>&1" >> $UNINST_FILE done echo "$RMDR $TARGET_PATH >/dev/null 2>&1" >> $UNINST_FILE Exec "$CHMD 500 $UNINST_FILE" && return 0 return 0}###############################################################################Copy () { # 1 = Full Path Source File (e.g. /tmp/staf/bin/STAFProc) # 2 = TARGET_PATH (e.g. /usr/local/staf) # 3 = Hierarchical File (e.g. bin/STAFProc) FILELIST=`echo $1` for SRCFILE in $FILELIST do TRGPATH=`$DIRN "$2/$3"` TRGFILE=`$BASE $SRCFILE` [ "$VERBOSE" = "YES" ] && [ ! -d $TRGPATH ] && \ echo "Creating path $TRGPATH ..." [ "$PREVIEW" != "YES" ] && \ [ ! -d $TRGPATH ] && \ [ -f $SRCFILE ] && \ Exec "$MKDR $TRGPATH" && \ Exec "$CHMD $DP_PERM $TRGPATH" && \ STAF_TREE=$TRGPATH" "$STAF_TREE [ ! -f $SRCFILE ] && \ Warn "Copy: File $SRCFILE does not exist" [ "$PREVIEW" != "YES" ] && \ [ -f $SRCFILE ] && \ Exec "$COPY $SRCFILE $TRGPATH" && \ echo "$REMV $TRGPATH/$TRGFILE >/dev/null 2>&1" >> $UNINST_FILE done return 0}###############################################################################Link () { # 1 = Target Directory for the links to be created # 2 = Source File # 3 = List of space-separated aliases to 2 BASENAME=`$BASE $2` [ "$VERBOSE" = "YES" ] && \ echo "Creating links $BASENAME $3 in $1 to $2 ..." [ "$PREVIEW" = "YES" ] && return 0 [ ! -f $2 ] && return 0 [ ! -d $1 ] && \ Exec "$MKDR $1" && \ Exec "$CHMD $DP_PERM $1" && \ STAF_TREE=$1" "$STAF_TREE Exec "$LINK $2 $1" && \ echo "$REMV $1/$BASENAME >/dev/null 2>&1" >> $UNINST_FILE for ALIAS in $3 do Exec "$LINK $2 $1/$ALIAS" && \ echo "$REMV $1/$ALIAS >/dev/null 2>&1" >> $UNINST_FILE done return 0}###############################################################################Link2 () { # 1 = Source File # 2 = Alias File [ "$VERBOSE" = "YES" ] && echo "Creating internal link $2 to $1 ..." [ "$PREVIEW" = "YES" ] && return 0 [ ! -f $1 ] && return 0 Exec "$LINK $1 $2" && \ echo "$REMV $2 >/dev/null 2>&1" >> $UNINST_FILE return 0}###############################################################################Chmd () { # 1 = Permissions in RX, RW, RO format # 2 = The file to change permissions to [ "$VERBOSE" = "YES" ] && echo "Changing permissions for $2 to $1 ..." [ "$PREVIEW" = "YES" ] && return 0 PERM="$DP_PERM" [ "$1" = "RX" ] && PERM="$RX_PERM" [ "$1" = "RW" ] && PERM="$RW_PERM" [ "$1" = "RO" ] && PERM="$RO_PERM" Exec "$CHMD $PERM $2" && return 0}###############################################################################Warn () { # 1 = The message [ "$VERBOSE" = "YES" ] && echo "WARNING: $@" [ "$WARNING" = "END" ] && Bail "$@" return 0}###############################################################################Bail () { # 1 = The message echo "STAFInst: $@" echo "Installation unsuccessful" exit 1}###############################################################################DoInstall () { #echo "Source : $SOURCE_PATH" #echo "Target : $TARGET_PATH" #echo "BinPath: $BIN_PATH" #echo "LibPath: $LIB_PATH" #echo "Manfst : $MANFST_FILE" #echo "Name : $NAME" #echo "Mail : $MAIL" #echo "Org : $ORGN" #echo "Registr: $REGISTR" #echo "Set : $INSTALL_SET" #echo "Type : $INSTALL_TYPE" [ ! -f "$MANFST_PATH" ] && MANFST_PATH=./"$MANFST_FILE" [ $# -lt 1 ] && set -- `ls $MANFST_PATH 2>/dev/null` Exec "$MKDR $TARGET_PATH" # default all to something other than M,R,F,ML,RL,FL, or ' ' so that we # can then initialize according to the type of install desired. this is # convenient to have only one install loop as instead of 3 (1 per install # type) NOTE: if STAFInst.mfs has an XX|YY type then this would not work # as expected!!! M="M" && MB="MB" && ML="ML" && \ R="X" && RB="XX" && RL="XX" && \ F="Y" && FB="YY" && FL="YY" [ "$INSTALL_SET" != "MINM" ] && R="R" && RB="RB" && RL="RL" && \ [ "$INSTALL_SET" != "RECM" ] && F="F" && FB="FB" && FL="FL" for MANIFEST do while read TYPE MODE FILE ALIASES do case "$TYPE" in \#) ;; $M|$R|$F) ######################################################### [ "$MODE" != "--" ] && \ Copy "$SOURCE_PATH/$FILE" "$TARGET_PATH" "$FILE" && \ Chmd "$MODE" "$TARGET_PATH/$FILE" [ "$MODE" = "--" ] && \ Link "$TARGET_PATH" "$TARGET_PATH/$FILE" "$TARGET_PATH/$ALIASES" ;; ######################################################### $MB|$RB|$FB) ######################################################### [ "$MODE" != "--" ] && \ Copy "$SOURCE_PATH/$FILE" "$TARGET_PATH" "$FILE" && \ Chmd "$MODE" "$TARGET_PATH/$FILE" OS=`uname` [ "$MODE" != "--" ] && [ $OS != "OS400" ] && \ Link2 "$TARGET_PATH/$FILE" "$TARGET_PATH/$ALIASES" [ "$BIN_PATH" != "" ] && \ Link "$BIN_PATH" "$TARGET_PATH/$FILE" "$ALIASES" ;; ######################################################### $ML|$RL|$FL) ######################################################### [ "$MODE" != "--" ] && \ Copy "$SOURCE_PATH/$FILE" "$TARGET_PATH" "$FILE" && \ Chmd "$MODE" "$TARGET_PATH/$FILE" [ "$LIB_PATH" != "" ] && \ Link "$LIB_PATH" "$TARGET_PATH/$FILE" "$ALIASES" ;; ######################################################### *) ;; esac done < "$MANIFEST" done echo "Installation successful"}HandleOptions() { SUFFIX=".so" # On most Unix platforms, the suffix is ".so". However, if the platform # is HP-UX for PA-RISC, then the suffix is ".sl". UNAME=`uname -s` ARCH=`uname -m` if [ "$UNAME" = "HP-UX" ] then if [ "$ARCH" != "ia64" ] then SUFFIX=".sl" fi fi # OPTION TCP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -