📄 gentapes
字号:
echo HOST='"'"$HOST"'"'echo REMAINDER='"'"$1"'"')}_U_Get_Dnet_Acc(){(FUNC=_U_Get_Dnet_Acc NUMARGS=3test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in ${NUMARGS}) # right number of args, continue HOST="$1" DEFUSER="$2" DEFPWD="$3" ;; *) # wrong number of args, error echo 1>&2 "$FUNC($# args): Needs ${NUMARGS} argument" return 1 ;;esacif echo "$HOST" | grep -s ':$'then HOST=`expr $HOST : '\(.*\):$'`else echo HOST='"'$HOST'"' return 0fiOFS="$IFS"IFS="/"set -- xxx $HOSTshiftIFS="$OFS"case "$#" in 0) echo 1>&2 "?${FUNC}: null DECnet name found." return 1 ;; *) RAWHOST="$1" USERNAME="$2" PASSWORD="$3" ;;esacif [ ! "$USERNAME" ]then eval `_U_Prompt "Username to use on Software Host $RAWHOST" USERNAME \ "" "$DEFUSER" " The Software Host Username is the name of the login account on the remote software host where the kit data is located. Usually the default is the correct value for this account. In any case your registration document should contain the proper user name. "`fiif [ ! "$PASSWORD" ]then if [ "$DEFPWD" ] then DEFAULT="$DEFPWD" else DEFAULT="no default" fi stty -echo > /dev/tty echo "Password for $RAWHOST/${USERNAME}:: [$DEFAULT] ?\c" > /dev/tty read password < /dev/tty; echo > /dev/tty stty echo > /dev/tty if [ "$password" ] then PASSWORD="$password" else PASSWORD="$DEFAULT" fifiHOST="${RAWHOST}/${USERNAME}/${PASSWORD}:"echo HOST='"'"$HOST"'"')}_U_Machine_Type(){(FUNC=_U_Machine_Type NUMARGS=0test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in ${NUMARGS}) # right number of args, continue ;; *) # wrong number of args, error echo 1>&2 "$FUNC($# args): Needs ${NUMARGS} arguments" return 1 ;;esacif [ -f /bin/machine ]then /bin/machineelse if [ -f /bin/vax ] then echo "unknown" else echo "vax" fifi)}_U_Dir_Exists(){(FUNC=_U_Dir_Exists NUMARGS=2test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)" case $- in *x*) _TRACE=1; set +x ;; *) _TRACE=0 ;; esacexec 2>&1 # put all errors to stdoutcase "$#" in ${NUMARGS}) case $1 in local|`hostname`) if [ -d $2 ] then echo "true" else echo "false" fi ;; *:) dls $1:$2/. > /dev/null 2>&1 case $? in 66) echo "false" ;; *) echo "true" ;; esac ;; *) isdir=`rsh $1 -n "test -d $2 || echo 'no'"`dir if [ "$isdir" = "dir" ] then echo "true" else echo "false" fi ;; esac ;; *) echo "$FUNC($# args): Must have exactly ${NUMARGS} arguments" return 1 ;;esaccase $_TRACE in # re-activate the trace if it was off. on) set -x ;;esac)}_U_File_Exists(){(FUNC=_U_File_Exists NUMARGS=2test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)" case $- in *x*) _TRACE=1; set +x ;; *) _TRACE=0 ;; esacexec 2>&1 # put all errors to stdoutcase "$#" in ${NUMARGS}) case $1 in local|`hostname`) if [ -f $2 -a -r $2 ] then echo "true" else echo "false" fi ;; *:) if dls -l $1:$2 > /tmp/FEdls$$ 2> /dev/null then case `cat /tmp/FEdls$$` in d) RETURN="false" ;; *) RETURN="true" ;; esac rm /tmp/FEdls$$ echo "$RETURN" else echo "false" fi ;; *) # TCP nodes is_rfile=`rsh $1 -n "test -f $2 -a -r $2" || echo 'no'"`good if [ "$is_rfile" = "good" ] then echo "true" else echo "false" fi ;; esac ;; *) echo "$FUNC($# args): Must have exactly ${NUMARGS} arguments" return 1 ;;esac case $_TRACE in on) set -x ;;esac)}_U_Is_Space(){(FUNC=_U_Is_Space NUMARGS=2test $UTIL_DEBUG && echo 1>&2 "$DEBUG: $FUNC($*)" case $- in *x*) _TRACE=1; set +x ;; *) _TRACE=0 ;; esacexec 2>&1 # put all errors to stdoutcase "$#" in ${NUMARGS}) DIRECTORY="$1" NEEDED="$2" ;; *) echo "$FUNC($# args): Must have exactly ${NUMARGS} arguments" return 1 ;;esacset xxx `df $DIRECTORY | tail -1`; shiftif [ "$#" -ge 4 ]then if [ "$4" -ge "$NEEDED" ] then echo "true" else echo "false" fielse echo "$FUNC: strange number of arguments from df call: $*"fi case $_TRACE in on) set -x ;;esac)}_U_Remote_Tar_xpf(){(FUNC=_U_Remote_Tar_xpf NUMARGS=2test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"ERRFILE=RTXerr$$case "$#" in ${NUMARGS}) case $1 in local|`hostname`) tar x${TARVERIFY}pf $2 return $? ;; *:) dcp -i $1:$2 - 2> $ERRFILE | tar x${TARVERIFY}pf - if [ -s $ERRFILE ] then cat 1>&2 $ERRFILE rm $ERRFILE return 1 else rm $ERRFILE return 0 fi ;; *) rsh $1 -n "cat $2" 2> $ERRFILE | tar x${TARVERIFY}pf - if [ -s $ERRFILE ] then cat 1>&2 $ERRFILE rm $ERRFILE return 1 else rm $ERRFILE return 0 fi ;; esac ;; *) echo 1>&2 "$FUNC($# args): Must have exactly ${NUMARGS} arguments" return 1 ;;esac)}_U_Remote_Copy(){(FUNC=_U_Remote_Copy NUMARGS=3test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in ${NUMARGS}) case $1 in local|`hostname`) cp $2 $3 ;; *:) dcp -i $1:$2 $3 ;; *) # TCP nodes rcp $1:$2 $3 ;; esac ;; *) echo 1>&2 "$FUNC($# args): Must have exactly ${NUMARG} arguments" return 1 ;;esac)}_U_Remote_dd(){(FUNC=_U_Remote_dd NUMARGS=4test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in ${NUMARGS}) HOST="$1" INFILE="$2" OUTFILE="$3" OPTIONS="$4" ;; *) echo 1>&2 "$FUNC($# args): Must have exactly ${NUMARGS} arguments" return 1 ;;esaccase $OUTFILE in "") # let output go to default stdin OUTPARAM="" ;; *) # put output to output parameter OUTPARAM="of=$OUTFILE" ;;esacERRFILE=/tmp/error$$case $HOST in local|`hostname`) dd if=$INFILE $OUTPARAM $OPTIONS return $? ;; *:) dcp -i $HOST:$INFILE - 2> $ERRFILE | dd $OUTPARAM $OPTIONS if [ -s $ERRFILE ] then cat 1>&2 $ERRFILE rm $ERRFILE return 1 else rm $ERRFILE return 0 fi ;; *) rsh $HOST -n dd if=$INFILE ibs=10k obs=2k 2> $ERRFILE | dd $OUTPARAM $OPTIONS if grep -s ":" $ERRFILE then cat 1>&2 $ERRFILE rm $ERRFILE return 1 else rm $ERRFILE return 0 fi ;;esac)}_U_Remote_ls(){(FUNC=_U_Remote_lstest $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in 1|2) HOST="$1" FILEPAT="$2" ;; *) echo 1>&2 "$FUNC($# args): Must have 1 or 2 arguments" \ ' (2nd can be specified as "", if null desired)' return 1 ;;esaccase $HOST in local|`hostname`) ls "$FILEPAT" ;; *:) dls $HOST:"$FILEPAT" | sed 's=^.*/==' ;; *) rsh $HOST -n ls "$FILEPAT" ;;esac)}_U_Find_Dir(){(FUNC=_U_Find_Dir NUMARGS=3test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in ${NUMARGS}) # right number of args, perform search HOST="$1" FILENAME="$2" DIRLIST="$3" ;; *) # wrong number of args, error echo 1>&2 "$FUNC($# args): Needs ${NUMARGS} arguments" return 1 ;;esacFILEFOUND=0 # assume not foundfor FILEDIR in $DIRLISTdo case $HOST in local|`hostname`) if [ -f $FILEDIR/$FILENAME -o -d $FILEDIR/$FILENAME ] then FILEFOUND=1 break fi ;; *:) if dls -l $HOST:$FILEDIR/$FILENAME > /dev/null 2>> /tmp/fderr$$ then FILEFOUND=1 break fi ;; *) # TCP nodes result=`rsh $HOST -n "test -f $FILEDIR/$FILENAME \ -o -d $FILEDIR/$FILENAME || echo 'not'"`found if [ "$result" = "found" ] then FILEFOUND=1 break fi ;; esacdoneif [ $FILEFOUND = "1" ]then echo FILEDIR='"'"$FILEDIR"'"'else if [ -r /tmp/fderr$$ ] then uniq 1>&2 /tmp/fderr$$ rm /tmp/fderr$$ fi echo FILEDIR='""'fi)}_U_Prompt(){(FUNC=_U_Prompt NUMARGS=5test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in ${NUMARGS}) # right number of args, perform search PROMPT="$1" ITEM="$2" OPTIONS="$3" DEFAULT="$4" HELPMSG="$5" ;; *) # wrong number of args, error echo 1>&2 "$FUNC($# args): Needs ${NUMARGS} arguments" exit 1 ;;esacif [ "$DEFAULT" ]then DEFAULT_TEXT="$DEFAULT"else DEFAULT_TEXT="no default"fiif [ "$OPTIONS" ]then OPTION_TEXT="($OPTIONS ?)"else OPTION_TEXT=""fiwhile : truedo echo 1>&2 "${PROMPT}${OPTION_TEXT}[${DEFAULT_TEXT}]: \c" read INPUT if [ "$INPUT" = "?" ] then echo "${HELPMSG}\n" > /tmp/help$$ more 1>&2 /tmp/help$$ rm /tmp/help$$ else if [ "$INPUT" ] then if [ "$OPTIONS" ] then for OPT in $OPTIONS do if [ "$OPT" = "$INPUT" ] then echo $ITEM'="'$INPUT'"' break 2 fi done echo 1>&2 "?Invalid option. Must be one of: $OPTIONS" echo 1>&2 " or ? for help" else echo $ITEM'="'$INPUT'"' break fi else if [ "$DEFAULT" ] then echo $ITEM'="'$DEFAULT'"' break else echo 1>&2 "%Type '?' for HELP" fi fi fidone)}_U_Request_Device_Load(){(FUNC=_U_Request_Device_Load NUMARGS=4test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in ${NUMARGS}) # right number of args, perform search DEV="$1" TYPE="$2" PROMPT="$3" ACCESS="$4" ;; *) # wrong number of args, error echo 1>&2 "$FUNC($# args): Needs ${NUMARGS} arguments" return 1 ;;esaccase $TYPE in tape | t* | disk | d* | unknown | u* ) ;; *) echo 1>&2 "?$FUNC: Invalid device type: '$TYPE', must be one of:" echo 1>&2 " disk tape unknown" return 1 ;;esac case $ACCESS in read | r* | write | w* ) ;; *) echo 1>&2 "?$FUNC: Invalid access: '$ACCESS', must be one of:" echo 1>&2 " read write" return 1 ;;esacwhile : truedo echo 1>&2 "$PROMPT" echo 1>&2 "Press RETURN when ready, 'q' to quit: \c" read TAPEREADY case $TAPEREADY in q) return 1 ;; "") case "$TYPE" in t*) mt -f $DEV rew || continue if _U_Check_Device $DEV $ACCESS then mt -f $DEV rew && break fi ;; d* | u* ) if _U_Check_Device $DEV $ACCESS then break fi ;; esac ;; *) echo 1>&2 "\n?Invalid response '$TAPEREADY'.\n" continue ;; esacdonereturn 0)}_U_Check_Device(){(FUNC=_U_Check_Device NUMARGS=2test $UTIL_DEBUG && echo 1>&2 "DEBUG: $FUNC($*)"case "$#" in ${NUMARGS}) # right number of args, perform search DEV="$1" ACCESS="$2" ;; *) # wrong number of args, error echo 1>&2 "$FUNC($# args): Needs ${NUMARGS} arguments" return 1 ;;esaccase $ACCESS in read | r* | write | w* | R* | W*) ;; *) echo 1>&2 "?$FUNC: Invalid access: '$ACCESS', must be one of:" echo 1>&2 " read write READ WRITE" return 1 ;;esaccase $ACCESS in w* | W* ) if [ "$UTIL_DEBUG" ] then echo "echo 'Writeable?' | dd of=$DEV bs=1b conv=sync" >/tmp/RTLDD$$ else echo " \c" > /tmp/RTLDD$$ fi if echo "Writeable?" | dd of=$DEV bs=1b conv=sync 2>> /tmp/RTLDD$$ then rm -f /tmp/RTLDD$$ return 0 else echo 1>&2 "Cannot write to $DEV:" cat 1>&2 /tmp/RTLDD$$; echo 1>&2 " " rm -f /tmp/RTLDD$$ return 1 fi ;; *) if [ "$UTIL_DEBUG" ] then echo "dd if=$DEV of=/dev/null bs=1b count=1" > /tmp/RTLDD$$ else echo " \c" > /tmp/RTLDD$$ fi if dd if=$DEV of=/dev/null bs=1b count=1 2>> /tmp/RTLDD$$ then
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -