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

📄 shtool

📁 Linux下的中文输入法
💻
📖 第 1 页 / 共 5 页
字号:
        -e 's/^\([^=;]*[ *][a-zA-Z0-9_]*\) =.*$/\1;/' \        -e 's/ ;/;/g' \        -e "s/^$opt_C /extern /"    #   generate prototypes for functions    echo "" >>$output    echo "/* prototypes for intern functions */" >>$output    grep '^F:' $tmpfile | sed >>$output \        -e 's/^F://' \        -e 's/\([ (]\) */\1/g' \        -e 's/ *\([),]\)/\1/g' \        -e 's/\([* ]\)[a-zA-Z0-9_]*,/\1,/g' \        -e 's/\([* ]\)[a-zA-Z0-9_]*);/\1);/g' \        -e 's/(\*[a-zA-Z0-9_]*)(/(*)(/g' \        -e 's/\([ (]\) */\1/g' \        -e 's/ *\([),]\)/\1/g' \        -e "s/^$opt_C /extern /"    #   finish generating output header    n=`(echo ''; sed <$opt_t -e "1,/^${opt_M} *\$/p" -e 'd') |\       wc -l | sed -e 's;^ *\([0-9]*\) *$;\1;'`    echo "#line $n \"$opt_t\"" >>$output    sed <$opt_t -e "/^${opt_M} *\$/,\$p" -e 'd' |\    sed -e "/^${opt_M} *\$/d" >>$output    #   create final output file    if [ -f $opt_o ]; then        if [ ".$opt_p" = .yes ]; then            grep -v '^#line' $opt_o  >$tmpfile.o            grep -v '^#line' $output >$tmpfile.n            out_old="$tmpfile.o"            out_new="$tmpfile.n"        else            out_old="$opt_o"            out_new="$output"        fi        if cmp -s $out_old $out_new; then            :        else            cp $output $opt_o        fi    else        cp $output $opt_o    fi    rm -f $output    rm -f $tmpfile $tmpfile.* >/dev/null 2>&1    shtool_exit 0    ;;version )    ##    ##  version -- Maintain a version information file    ##  Copyright (c) 1994-2004 Ralf S. Engelschall <rse@engelschall.com>    ##    file="$1"    #   determine prefix and name    name="$opt_n"    prefix="$opt_p"    #   determine current version    triple="$opt_s"    if [ ".$triple" != . ]; then        #   use given triple        if [ ".`echo $triple | grep '[0-9]*.[0-9]*[sabp.][0-9]*'`" = . ]; then            echo "$msgprefix:Error: invalid argument to option \`-s': \`$opt_s'" 1>&2            shtool_exit 1        fi        eval `echo $triple |\              sed -e 's%\([0-9]*\)\.\([0-9]*\)\([sabp.]\)\([0-9]*\).*%\              ver="\1";rev="\2";typ="\3";lev="\4"%'`        tim=calc    elif [ -r $file ]; then        #   determine triple from given file        eval `grep 'Version [0-9]*.[0-9]*[sabp.][0-9]* ([0-9]*-[a-zA-Z]*-[0-9]*)' $file |\              sed -e 's%.*Version \([0-9]*\)\.\([0-9]*\)\([sabp.]\)\([0-9]*\) (\([0-9]*-[a-zA-Z]*-[0-9]*\)).*%\              ver="\1";rev="\2";typ="\3";lev="\4";tim="\5"%' -e 'q'`    else        #   intialise to first version        ver=0        rev=1        typ=.        lev=0        tim=calc    fi    #   determine new version in batch    if [ ".$opt_i" != . ]; then        case $opt_i in            v ) ver=`expr $ver + 1`                rev=0                lev=0                ;;            r ) rev=`expr $rev + 1`                lev=0                ;;            l ) lev=`expr $lev + 1`                ;;            * ) echo "$msgprefix:Error: invalid argument to option \`-i': \`$opt_i'" 1>&2                shtool_exit 1                ;;        esac        tim=calc    fi    #   determine new version interactively    if [ ".$opt_e" = .yes ]; then        echo "old version: ${ver}.${rev}${typ}${lev}"        while [ 1 ]; do            echo dummy | awk '{ printf("new version: "); }'            read triple            case $triple in                [0-9]*.[0-9]*[sabp.][0-9]* )                    ;;                * ) echo "$msgprefix:Error: invalid version string entered: \`$triple'" 1>&2                    continue                    ;;            esac            break        done        eval `echo $triple |\              sed -e 's%^\([0-9]*\)\.\([0-9]*\)\([sabp.]\)\([0-9]*\)$%\              ver="\1";rev="\2";typ="\3";lev="\4"%'`        tim=calc    fi    #   determine hexadecimal and libtool value of version    case $typ in        a     ) typnum=0;  levnum=$lev ;;        b     ) typnum=1;  levnum=$lev ;;        p | . ) typnum=2;  levnum=$lev ;;        s     ) typnum=15; levnum=255  ;; # snapshots are special    esac    hex=`echo "$ver:$rev:$typnum:$levnum" |\         awk -F: '{ printf("0x%x%02x%1x%02x", $1, $2, $3, $4); }' |\         tr 'abcdef' 'ABCDEF'`    ltv=`echo "$ver:$rev:$typnum:$levnum" |\         awk -F: '{ printf("%d:%d", $1*10 + $2, $3*10 + $4); }'`    #   determine date    if [ ".$tim" = .calc ]; then        day=`date '+%d'`        month=`date '+%m'`        year=`date '+%Y' 2>/dev/null`        if [ ".$time_year" = . ]; then            year=`date '+%y'`            case $year in                [5-9][0-9]) year="19$year" ;;                [0-4][0-9]) year="20$year" ;;            esac        fi        case $month in            1|01) month='Jan' ;;            2|02) month='Feb' ;;            3|03) month='Mar' ;;            4|04) month='Apr' ;;            5|05) month='May' ;;            6|06) month='Jun' ;;            7|07) month='Jul' ;;            8|08) month='Aug' ;;            9|09) month='Sep' ;;              10) month='Oct' ;;              11) month='Nov' ;;              12) month='Dec' ;;        esac        tim="${day}-${month}-${year}"    fi    #   perform result actions    mode=show    if [ ".$opt_i" != . ]; then        mode=edit    elif [ ".$opt_e" = .yes ]; then        mode=edit    elif [ ".$opt_s" != . ]; then        mode=edit    fi    if [ ".$mode" = .show ]; then        #   just display the current version        case $opt_d in            short )                echo "${ver}.${rev}${typ}${lev}"                ;;            long )                echo "${ver}.${rev}${typ}${lev} ($tim)"                ;;            libtool )                echo "${ltv}"                ;;            hex )                echo "${hex}"                ;;            * ) echo "$msgprefix:Error: invalid argument to option \`-d': \`$opt_d'" 1>&2                shtool_exit 1                ;;        esac    else        #   update the version file        #   pre-generate various strings        triple="${ver}.${rev}${typ}${lev}"        vHex="$hex"        vShort="${triple}"        vLong="${triple} (${tim})"        vTeX="This is ${name}, Version ${triple} (${tim})"        vGNU="${name} ${triple} (${tim})"        vWeb="${name}/${triple}"        vSCCS="@(#)${name} ${triple} (${tim})"        vRCS="\$Id: ${name} ${triple} (${tim}) \$"        #   determine string out of filename        #   (do NOT try to optimize this in any way because of portability)        filestr=`echo $file |\                 tr 'abcdefghijklmnopqrstuvwxyz./%+' \                    'ABCDEFGHIJKLMNOPQRSTUVWXYZ____' | sed -e 's/-/_/g'`        #   generate uppercase prefix        prefixupper=`echo $prefix |\                     tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`        #   create the version file according the the selected language        echo "new version: ${vLong}"        cp /dev/null $file        case $opt_l in            txt )                echo >>$file ""                echo >>$file "  ${file} -- Version Information for ${name} (syntax: Text)"                echo >>$file "  [automatically generated and maintained by GNU shtool]"                echo >>$file ""                echo >>$file "  $vTeX"                echo >>$file ""                ;;            c )                echo >>$file "/*"                echo >>$file "**  ${file} -- Version Information for ${name} (syntax: C/C++)"                echo >>$file "**  [automatically generated and maintained by GNU shtool]"                echo >>$file "*/"                echo >>$file ""                echo >>$file "#ifdef _${filestr}_AS_HEADER_"                echo >>$file ""                echo >>$file "#ifndef _${filestr}_"                echo >>$file "#define _${filestr}_"                echo >>$file ""                echo >>$file "#define ${prefixupper}VERSION ${vHex}"                echo >>$file ""                echo >>$file "typedef struct {"                echo >>$file "    const int   v_hex;"                echo >>$file "    const char *v_short;"                echo >>$file "    const char *v_long;"                echo >>$file "    const char *v_tex;"                echo >>$file "    const char *v_gnu;"                echo >>$file "    const char *v_web;"                echo >>$file "    const char *v_sccs;"                echo >>$file "    const char *v_rcs;"                echo >>$file "} ${prefix}version_t;"                echo >>$file ""                echo >>$file "extern ${prefix}version_t ${prefix}version;"                echo >>$file ""                echo >>$file "#endif /* _${filestr}_ */"                echo >>$file ""                echo >>$file "#else /* _${filestr}_AS_HEADER_ */"                echo >>$file ""                echo >>$file "#define _${filestr}_AS_HEADER_"                echo >>$file "#include \"${file}\""                echo >>$file "#undef  _${filestr}_AS_HEADER_"                echo >>$file ""                echo >>$file "${prefix}version_t ${prefix}version = {"                echo >>$file "    ${vHex},"                echo >>$file "    \"${vShort}\","                echo >>$file "    \"${vLong}\","                echo >>$file "    \"${vTeX}\","                echo >>$file "    \"${vGNU}\","                echo >>$file "    \"${vWeb}\","                echo >>$file "    \"${vSCCS}\","                echo >>$file "    \"${vRCS}\""                echo >>$file "};"                echo >>$file ""                echo >>$file "#endif /* _${filestr}_AS_HEADER_ */"                echo >>$file ""                ;;            m4 )                echo >>$file "##"                echo >>$file "##  ${file} -- Version Information for ${name} (syntax: M4)"                echo >>$file "##  [automatically generated and maintained by GNU shtool]"                echo >>$file "##"                echo >>$file ""                echo >>$file "m4_define([v_hex],   [${vHex}])"                echo >>$file "m4_define([v_short], [${vShort}])"                echo >>$file "m4_define([v_long],  [${vLong}])"                echo >>$file "m4_define([v_tex],   [${vTeX}])"                echo >>$file "m4_define([v_gnu],   [${vGNU}])"                echo >>$file "m4_define([v_web],   [${vWeb}])"                echo >>$file "m4_define([v_sccs],  [${vSCCS}])"                echo >>$file "m4_define([v_rcs],   [${vRCS}])"                echo >>$file ""                ;;            perl )                echo >>$file "##"                echo >>$file "##  ${file} -- Version Information for ${name} (syntax: Perl)"                echo >>$file "##  [automatically generated and maintained by GNU shtool]"                echo >>$file "##"                echo >>$file ""                echo >>$file "my \$${prefix}version = {"                echo >>$file "    'v_hex'   => ${vHex},"                echo >>$file "    'v_short' => \"${vShort}\","                echo >>$file "    'v_long'  => \"${vLong}\","                echo >>$file "    'v_tex'   => \"${vTeX}\","                echo >>$file "    'v_gnu'   => \"${vGNU}\","                echo >>$file "    'v_web'   => \"${vWeb}\","                echo >>$file "    'v_sccs'  => \"${vSCCS}\","                echo >>$file "    'v_rcs'   => \"\\${vRCS}/\""                echo >>$file "};"                echo >>$file ""                echo >>$file "1;"                echo >>$file ""                ;;            python )                echo >>$file "##"                echo >>$file "##  ${file} -- Version Information for ${name} (syntax: Python)"                echo >>$file "##  [automatically generated and maintained by GNU shtool]"                echo >>$file "##"                echo >>$file ""                echo >>$file "class ${prefix}version:"                echo >>$file "    v_hex       = ${vHex}"                echo >>$file "    v_short     = \"${vShort}\""                echo >>$file "    v_long      = \"${vLong}\""                echo >>$file "    v_tex       = \"${vTeX}\""                echo >>$file "    v_gnu       = \"${vGNU}\""                echo >>$file "    v_web       = \"${vWeb}\""                echo >>$file "    v_sccs      = \"${vSCCS}\""                echo >>$file "    v_rcs       = \"${vRCS}\""                echo >>$file ""                ;;            * ) echo "$msgprefix:Error: invalid argument to option \`-l': \`$opt_l'" 1>&2                shtool_exit 1                ;;        esac    fi    shtool_exit 0    ;;esacshtool_exit 0

⌨️ 快捷键说明

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