⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shtool

📁 Apache V2.0.15 Alpha For Linuxhttpd-2_0_15-alpha.tar.Z
💻
📖 第 1 页 / 共 3 页
字号:
                                    if [ ".$norm" != . ]; then                                        term_norm="$norm"                                        break                                    fi                                done                            fi                            break                        fi                    done                    if [ ".$term_bold" != . -a ".$term_norm" != . ]; then                        break;                    fi                done                ;;        esac        if [ ".$term_bold" = . -o ".$term_norm" = . ]; then            echo "$msgprefix:Warning: unable to determine terminal sequence for bold mode" 1>&2        fi    fi        #   determine user name    username=''    if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[uU]'`" != . ]; then        username="$LOGNAME"        if [ ".$username" = . ]; then            username="$USER"            if [ ".$username" = . ]; then                username="`(whoami) 2>/dev/null |\                           awk '{ printf("%s", $1); }'`"                if [ ".$username" = . ]; then                    username="`(who am i) 2>/dev/null |\                               awk '{ printf("%s", $1); }'`"                    if [ ".$username" = . ]; then                        username='unknown'                    fi                fi            fi        fi    fi        #   determine user id    userid=''    if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%U'`" != . ]; then        userid="`(id -u) 2>/dev/null`"        if [ ".$userid" = . ]; then            str="`(id) 2>/dev/null`"            if [ ".`echo $str | grep '^uid[ 	]*=[ 	]*[0-9]*('`" != . ]; then                userid=`echo $str | sed -e 's/^uid[ 	]*=[ 	]*//' -e 's/(.*//'`            fi            if [ ".$userid" = . ]; then                userid=`egrep "^${username}:" /etc/passwd 2>/dev/null | \                        sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`                if [ ".$userid" = . ]; then                    userid=`(ypcat passwd) 2>/dev/null |                            egrep "^${username}:" | \                            sed -e 's/[^:]*:[^:]*://' -e 's/:.*$//'`                    if [ ".$userid" = . ]; then                        userid='?'                    fi                fi            fi        fi    fi        #   determine host name    hostname=''    if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%h'`" != . ]; then        hostname="`(uname -n) 2>/dev/null |\                   awk '{ printf("%s", $1); }'`"        if [ ".$hostname" = . ]; then            hostname="`(hostname) 2>/dev/null |\                       awk '{ printf("%s", $1); }'`"            if [ ".$hostname" = . ]; then                hostname='unknown'            fi        fi        case $hostname in            *.* )                domainname=".`echo $hostname | cut -d. -f2-`"                hostname="`echo $hostname | cut -d. -f1`"                ;;        esac    fi        #   determine domain name    domainname=''    if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%d'`" != . ]; then        if [ ".$domainname" = . ]; then            if [ -f /etc/resolv.conf ]; then                domainname="`egrep '^[ 	]*domain' /etc/resolv.conf | head -1 |\                             sed -e 's/.*domain//' \                                 -e 's/^[ 	]*//' -e 's/^ *//' -e 's/^	*//' \                                 -e 's/^\.//' -e 's/^/./' |\                             awk '{ printf("%s", $1); }'`"                if [ ".$domainname" = . ]; then                    domainname="`egrep '^[ 	]*search' /etc/resolv.conf | head -1 |\                                 sed -e 's/.*search//' \                                     -e 's/^[ 	]*//' -e 's/^ *//' -e 's/^	*//' \                                     -e 's/ .*//' -e 's/	.*//' \                                     -e 's/^\.//' -e 's/^/./' |\                                 awk '{ printf("%s", $1); }'`"                fi            fi        fi    fi        #   determine current time    time_day=''    time_month=''    time_year=''    time_monthname=''    if [ ".$opt_e" = .yes -a ".`echo $text | egrep '%[DMYm]'`" != . ]; then        time_day=`date '+%d'`        time_month=`date '+%m'`        time_year=`date '+%Y' 2>/dev/null`        if [ ".$time_year" = . ]; then            time_year=`date '+%y'`            case $time_year in                [5-9][0-9]) time_year="19$time_year" ;;                [0-4][0-9]) time_year="20$time_year" ;;            esac        fi        case $time_month in            1|01) time_monthname='Jan' ;;            2|02) time_monthname='Feb' ;;            3|03) time_monthname='Mar' ;;            4|04) time_monthname='Apr' ;;            5|05) time_monthname='May' ;;            6|06) time_monthname='Jun' ;;            7|07) time_monthname='Jul' ;;            8|08) time_monthname='Aug' ;;            9|09) time_monthname='Sep' ;;              10) time_monthname='Oct' ;;              11) time_monthname='Nov' ;;              12) time_monthname='Dec' ;;        esac    fi        #   expand special ``%x'' constructs    if [ ".$opt_e" = .yes ]; then        text=`echo $seo "$text" |\              sed -e "s/%B/${term_bold}/g" \                  -e "s/%b/${term_norm}/g" \                  -e "s/%u/${username}/g" \                  -e "s/%U/${userid}/g" \                  -e "s/%h/${hostname}/g" \                  -e "s/%d/${domainname}/g" \                  -e "s/%D/${time_day}/g" \                  -e "s/%M/${time_month}/g" \                  -e "s/%Y/${time_year}/g" \                  -e "s/%m/${time_monthname}/g" 2>/dev/null`    fi        #   create output    if [ .$opt_n = .no ]; then        echo $seo "$text"    else        #   the harder part: echo -n is best, because        #   awk may complain about some \xx sequences.        if [ ".$minusn" != . ]; then            echo $seo $minusn "$text"        else            echo dummy | awk '{ printf("%s", TEXT); }' TEXT="$text"        fi    fi    ;;install )    ##    ##  install -- Install a program, script or datafile    ##  Copyright (c) 1997-2000 Ralf S. Engelschall <rse@engelschall.com>    ##  Originally written for shtool    ##        src="$1"    dst="$2"        #  If destination is a directory, append the input filename    if [ -d $dst ]; then        dst=`echo "$dst" | sed -e 's:/$::'`        dstfile=`echo "$src" | sed -e 's;.*/\([^/]*\)$;\1;'`        dst="$dst/$dstfile"    fi        #  Add a possible extension to src and dst    if [ ".$opt_e" != . ]; then        src="$src$opt_e"        dst="$dst$opt_e"    fi        #  Check for correct arguments    if [ ".$src" = ".$dst" ]; then        echo "$msgprefix:Error: source and destination are the same" 1>&2        exit 1    fi        #  Make a temp file name in the destination directory    dstdir=`echo $dst | sed -e 's;[^/]*$;;' -e 's;\(.\)/$;\1;' -e 's;^$;.;'`    dsttmp="$dstdir/#INST@$$#"        #  Verbosity    if [ ".$opt_v" = .yes ]; then        echo "$src -> $dst" 1>&2    fi        #  Copy or move the file name to the temp name    #  (because we might be not allowed to change the source)    if [ ".$opt_C" = .yes ]; then        opt_c=yes    fi    if [ ".$opt_c" = .yes ]; then        if [ ".$opt_t" = .yes ]; then            echo "cp $src $dsttmp" 1>&2        fi        cp $src $dsttmp || exit $?    else        if [ ".$opt_t" = .yes ]; then            echo "mv $src $dsttmp" 1>&2        fi        mv $src $dsttmp || exit $?    fi        #  Adjust the target file    #  (we do chmod last to preserve setuid bits)    if [ ".$opt_s" = .yes ]; then        if [ ".$opt_t" = .yes ]; then            echo "strip $dsttmp" 1>&2        fi        strip $dsttmp || exit $?    fi    if [ ".$opt_o" != . ]; then        if [ ".$opt_t" = .yes ]; then            echo "chown $opt_o $dsttmp" 1>&2        fi        chown $opt_o $dsttmp || exit $?    fi    if [ ".$opt_g" != . ]; then        if [ ".$opt_t" = .yes ]; then            echo "chgrp $opt_g $dsttmp" 1>&2        fi        chgrp $opt_g $dsttmp || exit $?    fi    if [ ".$opt_m" != . ]; then        if [ ".$opt_t" = .yes ]; then            echo "chmod $opt_m $dsttmp" 1>&2        fi        chmod $opt_m $dsttmp || exit $?    fi        #   Determine whether to do a quick install    #   (has to be done _after_ the strip was already done)    quick=no    if [ ".$opt_C" = .yes ]; then        if [ -r $dst ]; then            if cmp -s $src $dst; then                quick=yes            fi        fi    fi        #   Finally install the file to the real destination    if [ $quick = yes ]; then        if [ ".$opt_t" = .yes ]; then            echo "rm -f $dsttmp" 1>&2        fi        rm -f $dsttmp    else        if [ ".$opt_t" = .yes ]; then            echo "rm -f $dst && mv $dsttmp $dst" 1>&2        fi        rm -f $dst && mv $dsttmp $dst    fi    ;;mkdir )    ##    ##  mkdir -- Make one or more directories    ##  Copyright (c) 1996-2000 Ralf S. Engelschall <rse@engelschall.com>    ##  Originally written for public domain by Noah Friedman <friedman@prep.ai.mit.edu>    ##  Cleaned up and enhanced for shtool    ##        errstatus=0    for p in ${1+"$@"}; do        #   if the directory already exists...        if [ -d "$p" ]; then            if [ ".$opt_f" = .no ]; then                echo "$msgprefix:Error: directory already exists: $p" 1>&2                errstatus=1                break            else                continue            fi        fi        #   if the directory has to be created...        if [ ".$opt_p" = .no ]; then            if [ ".$opt_t" = .yes ]; then                echo "mkdir $p" 1>&2            fi            mkdir $p || errstatus=$?        else            #   the smart situation            set fnord `echo ":$p" |\                       sed -e 's/^:\//%/' \                           -e 's/^://' \                           -e 's/\// /g' \                           -e 's/^%/\//'`            shift            pathcomp=''            for d in ${1+"$@"}; do                pathcomp="$pathcomp$d"                case "$pathcomp" in                    -* ) pathcomp="./$pathcomp" ;;                esac                if [ ! -d "$pathcomp" ]; then                    if [ ".$opt_t" = .yes ]; then                        echo "mkdir $pathcomp" 1>&2                    fi                    mkdir $pathcomp || errstatus=$?                    if [ ".$opt_m" != . ]; then                        if [ ".$opt_t" = .yes ]; then                            echo "chmod $opt_m $pathcomp" 1>&2                        fi                        chmod $opt_m $pathcomp || errstatus=$?                    fi                fi                pathcomp="$pathcomp/"            done        fi    done    exit $errstatus    ;;fixperm )    ##    ##  fixperm -- Fix file permissions inside a source tree    ##  Copyright (c) 1996-2000 Ralf S. Engelschall <rse@engelschall.com>    ##  Originally written for ePerl    ##        paths="$*"        #   check whether the test command supports the -x option    if [ -x /bin/sh ] 2>/dev/null; then        minusx="-x"    else        minusx="-r"    fi        #   iterate over paths    for p in $paths; do        for file in `find $p -depth -print`; do            if [ -f $file ]; then                if [ $minusx $file ]; then                    if [ ".$opt_v" = .yes ]; then                        echo "-rwxrwxr-x $file" 2>&1                    fi                    if [ ".$opt_t" = .yes ]; then                        echo "chmod 775 $file" 2>&1                    fi                    chmod 775 $file                else                    if [ ".$opt_v" = .yes ]; then                        echo "-rw-rw-r-- $file" 2>&1                    fi                    if [ ".$opt_t" = .yes ]; then                        echo "chmod 664 $file" 2>&1                    fi                    chmod 664 $file                fi                continue            fi            if [ -d $file ]; then                if [ ".$opt_v" = .yes ]; then                    echo "drwxrwxr-x $file" 2>&1                fi                if [ ".$opt_t" = .yes ]; then                    echo "chmod 775 $file" 2>&1                fi                chmod 775 $file                continue            fi            if [ ".$opt_v" = .yes ]; then                echo "?????????? $file" 2>&1            fi        done    done    ;;tarball )    ##    ##  tarball -- Roll distribution tarballs    ##  Copyright (c) 1999-2000 Ralf S. Engelschall <rse@engelschall.com>    ##  Originally written for shtool    ##        srcs="$*"        #   check whether the test command supports the -x option    if [ -x /bin/sh ] 2>/dev/null; then        minusx="-x"    else        minusx="-r"    fi        #   find the tools    paths="`echo $PATH |\            sed -e 's%/*:%:%g' -e 's%/*$%%' \                -e 's/^:/.:/' -e 's/::/:.:/g' -e 's/:$/:./' \                -e 's/:/ /g'`"    for spec in find:gfind,find tar:gtar,tar tardy:tardy,tarcust; do        prg=`echo $spec | sed -e 's/:.*$//'`        tools=`echo $spec | sed -e 's/^.*://'`        eval "prg_${prg}=''"

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -