• 测试


      1 #!/usr/bin/env bash
      2 # ******************************************************
      3 # Author       : kunfer
      4 # Last modified: 2019-06-13 18:38
      5 # Email        : kklinux@126.com
      6 # Filename     : jiying-A.sh
      7 # Description  : 
      8 # ******************************************************
      9 
     10 red_font="33[31m"
     11 green_font="33[32m"
     12 yellow_font="33[33m"
     13 green_bg="33[42;37m"
     14 red_bg="33[41;37m"
     15 end_font="33[0m"
     16 info="${green_font}[信息]${end_font}"
     17 tip="${yellow_font}[提示]${end_font}"
     18 error="${red_font}[错误]${end_font}"
     19 
     20 #清屏函数
     21 function qp() {
     22 tput clear
     23 }
     24 #菜单函数
     25 function menu() {
     26 qp
     27 echo -e "  ${red_bg}一键评测脚本${end_font}
     28 
     29 ${green_font}0.${end_font} ${red_font}	综合${end_font}
     30 ${green_font}1.${end_font} ${red_font}	第1题${end_font}
     31 ${green_font}2.${end_font} ${red_font}	第2题${end_font}
     32 ${green_font}3.${end_font} ${red_font}	第3题${end_font}
     33 ${green_font}4.${end_font} ${red_font}	第4题${end_font}
     34 ${green_font}5.${end_font} ${red_font}	第5题${end_font}
     35 ${green_font}6.${end_font} ${red_font}	第6题${end_font}
     36 ${green_font}7.${end_font} ${red_font}	第7题${end_font}
     37 ${green_font}8.${end_font} ${red_font}	第8题${end_font}
     38 ${green_font}9.${end_font} ${red_font}	第9题${end_font}
     39 ${green_font}10.${end_font} ${red_font}	第10题${end_font}
     40 ${red_font}——————————————${end_font}
     41 ${info}${yellow_font}q为退出脚本${end_font}
     42 ${info}${yellow_font}e为重设学号${end_font}
     43 "
     44 echo && read -e -p "请输入数字 [0-10]:" num
     45 
     46 until [[ $num == 0 || $num == 1 || $num == 2  || $num == 3 || $num == 4 || $num == 5 || $num == 6 || $num == 7 || $num == 8 || $num == 9 || $num == 10 || $num == q || $num == e ]]
     47 do
     48     echo -ne "$tip" && read -e -p "请输入数字 [0-10]:" num
     49 done
     50 case "$num" in
     51     1)
     52     qp
     53     t1
     54     quits
     55     ;;
     56     2)
     57     qp
     58     t2
     59     quits
     60     ;;
     61     3)
     62     qp
     63     t3
     64     quits
     65     ;;
     66     4)
     67     qp
     68     t4
     69     quits
     70     ;;
     71     5)
     72     qp
     73     t5
     74     quits
     75     ;;
     76     6)
     77     qp
     78     t6
     79     quits
     80     ;;
     81     7)
     82     qp
     83     t7
     84     quits
     85     ;;
     86     8)
     87     qp
     88     t8
     89     quits
     90     ;;
     91     9)
     92     qp
     93     t9
     94     quits
     95     ;;
     96     10)
     97     qp
     98     t10
     99     quits
    100     ;;
    101         0)
    102     qp
    103     t1
    104     t2
    105     t3
    106     t4
    107     t5
    108     t6
    109     t7
    110     t8
    111     t9
    112     t10
    113     grade
    114     quits
    115     ;;
    116     q)
    117     exit
    118     ;;
    119     e)
    120     run
    121     ;;
    122     *)
    123     echo -e "${Error} 请输入正确的数字 [1-10]"
    124     ;;
    125 esac
    126 }
    127 #返回菜单函数
    128 function quits() {
    129 echo && read -e -p "输入e返回菜单,q退出:" quit
    130 until [[ $quit == q || $quit == e ]]
    131 do
    132     echo -ne "$tip"&& read -e -p "请输入 [q/e]:" quit
    133 done
    134 case "$quit" in
    135     e)
    136     menu
    137     ;;
    138     q)
    139     qp
    140     exit
    141     ;;
    142     *)
    143     echo -e "${Error} 请输入q或e[q/e]"
    144     ;;
    145 esac
    146 }
    147 ##以下为功能函数
    148 #
    149 function t1() {
    150 ##**********************************************##
    151 ##--------------此处添加函数代码----------------##
    152 
    153 echo "--------------第一题----------------"
    154 
    155 echo -e "${info}"
    156 
    157 t1_sum=0
    158 
    159 hostnames=$(hostname)
    160 
    161 if [ $hostnames == hniu$snum.hniu.cn ];then
    162     let t1_sum=$t1_sum+5
    163     echo -e "${green_font}主机名配置正确加5分${end_font}"
    164 else
    165     echo -e "${error}${green_font}主机名配置错误不得分${end_font}"
    166 fi
    167 sleep 1s
    168 
    169 today=$(date +%y%m%d)
    170 
    171 if [ $today == 190616 ];then
    172     let t1_sum=$t1_sum+5
    173     echo -e "${green_font}日期配置正确,得5分${end_font}"
    174 else
    175     echo -e "${error}${green_font}日期配置错误,不得分${end_font}"
    176 fi
    177 sleep 1s
    178 
    179 echo -e "
    
    ${tip}${red_font}本题共10分,得 ${t1_sum} 分${end_font}"
    180 
    181 ##--------------此处添加函数代码----------------##
    182 ##**********************************************##
    183 sleep 2s
    184 printf "
    
    "
    185 }
    186 
    187 function t2() {
    188 ##**********************************************##
    189 ##--------------此处添加函数代码----------------##
    190 
    191 echo "--------------第二题----------------"
    192 
    193 echo -e "${info}"
    194 t2_sum=0
    195 #判断用户是否创建正确
    196 cat /etc/passwd |grep hniu$snum &>/dev/null
    197 if [ $? -eq 0 ];then
    198     #正确加5分
    199     let t2_sum=$t2_sum+5
    200     echo -e "${green_font}用户创建正确,得5分${end_font}"
    201     sleep 1s
    202     
    203     ##判断UID设置是否正确
    204     let suser_uid=1100+$snum
    205     suser=$(cat /etc/passwd |grep hniu$snum|cut -d ':' -f3)
    206     if [ $suser == $suser_uid ];then
    207         #正确加5分
    208         let t2_sum=$t2_sum+5
    209         echo -e "${green_font}用户UID设置正确,得5分${end_font}"
    210     else
    211         echo -e "${error}${green_font}用户UID设置错误,不得分${end_font}"
    212     fi
    213 else
    214     echo -e "${error}${green_font}用户创建错误,本题不得分${end_font}"
    215 fi
    216 
    217 echo -e "
    
    ${tip}${red_font}本题共10分,得 ${t2_sum} 分${end_font}"
    218 
    219 ##--------------此处添加函数代码----------------##
    220 ##**********************************************##
    221 sleep 2s
    222 printf "
    
    "
    223 }
    224 
    225 function t3() {
    226 ##**********************************************##
    227 ##--------------此处添加函数代码----------------##
    228 #题3判断权限函数
    229 function file_quan() {
    230 t=$1
    231 #获取指定文件的数值权限
    232 quan=$(stat /hniu$snum/$t |grep Access: (|awk '{print $2}'|cut -f1 -d '/')
    233 quan_a=${quan: -3}
    234 #判断数值权限是否为777
    235 if [ $quan_a == 777 ];then
    236     let t3_sum=$t3_sum+5
    237     echo -e "${green_font}文件权限正确,得5分${end_font}"
    238 else
    239     echo -e "${error}${green_font}文件权限错误,不得分${end_font}"
    240 fi
    241 
    242 }
    243 
    244 echo "--------------第三题----------------"
    245 echo -e "${info}"
    246 t3_sum=0
    247 #0先判断文件夹是否存在
    248 t3_path="/hniu$snum"
    249 if [ ! -d "$t3_path" ];then
    250     echo -e "${error}${green_font}文件夹不存在,此题无分${end_font}"
    251 else
    252     #1判断文件是否存在和改名
    253     t3_file1="passwd"
    254     t3_file2="password"
    255     ls -l ${t3_path}/ |grep ${t3_file2} &>/dev/null
    256     if [ $? -eq 0 ];then
    257         let t3_sum=$t3_sum+5
    258         echo -e  "${green_font}文件复制并改名正确,得5分${end_font}"
    259         file_quan ${t3_file2}
    260     
    261     else
    262         #echo "没改名"
    263         #2判断文件是否存在和改名
    264         ls -l ${t3_path}/ |grep ${t3_file1} &>/dev/null
    265         if [ $? -eq 0 ];then
    266             #echo "只是没改名"
    267             let t3_sum=$t3_sum+3
    268             echo -e "${green_font}文件复制正确但未改名,得3分${end_font}"
    269             file_quan ${t3_file1}
    270         else
    271             #echo "根本没复制"
    272             echo -e "${error}${green_font}文件复制和改名错误,不得分${end_font}"
    273         fi
    274         #2判断文件是否存在和改名
    275     fi
    276     #1判断文件是否存在和改名
    277 fi
    278 
    279 echo -e "
    
    ${tip}${red_font}本题共10分,得 ${t3_sum} 分${end_font}"
    280 
    281 ##--------------此处添加函数代码----------------##
    282 ##**********************************************##
    283 sleep 2s
    284 printf "
    
    "
    285 }
    286 
    287 function t4() {
    288 ##**********************************************##
    289 ##--------------此处添加函数代码----------------##
    290 echo "--------------第四题----------------"
    291 echo -e "${info}"
    292 t4_sum=0
    293 
    294 #获取网卡名称
    295 ens=$(nmcli con show |grep ethernet |head -1|awk '{print $1}')
    296 #获取网卡IP地址
    297 nmcli device show $ens |grep IP4.ADDRESS &>/dev/null
    298 if [ $? -eq 0 ];then
    299     #有IP地址
    300     ens_ip=$(nmcli dev show $ens |grep IP4.ADDRESS|awk '{printf $2}')
    301     ##判断ip地址是否配置正确
    302     if [ $ens_ip == "192.168.${snum}.${snum}/24" ];then
    303     #IP地址配置正确
    304     let t4_sum=$t4_sum+3
    305     echo -e "${green_font}ip地址配置正确,得3分${end_font}"
    306     sleep 0.5s
    307         ###查看是否为永久性生效
    308         cat /etc/sysconfig/network-scripts/ifcfg-$ens |grep IPADDR &>/dev/null
    309         if [ $? -eq 0 ];then
    310             #网卡文件内配置了IP地址
    311             let t4_sum=$t4_sum+2
    312             echo -e "${green_font}ip地址配置永久性生效正确,得2分${end_font}"
    313             sleep 0.5s
    314             else
    315             #网卡文件内未配置IP地址
    316             echo -e "${error}${green_font}ip地址配置永久性生效错误,不得分${end_font}"
    317             sleep 0.5s
    318         fi
    319     ###
    320     else
    321     #IP地址配置错误
    322     echo -e "${error}${green_font}ip地址配置错误,不得分${end_font}"
    323     sleep 0.5s
    324     
    325     fi
    326     
    327 ##
    328 else
    329     #没有ip地址
    330     echo -e "${error}${green_font}没有配置ip地址,不得分${end_font}"
    331     sleep 0.5s
    332 fi
    333 
    334 echo -e "
    
    ${tip}${red_font}本题共5分,得 ${t4_sum} 分${end_font}"
    335 
    336 ##--------------此处添加函数代码----------------##
    337 ##**********************************************##
    338 sleep 2s
    339 printf "
    
    "
    340 }
    341 
    342 
    343 function t5() {
    344 ##**********************************************##
    345 ##--------------此处添加函数代码----------------##
    346 echo "--------------第五题----------------"
    347 echo -e "${info}"
    348 t5_sum=0
    349 
    350 #判断文件夹是否存在
    351 t5_file="/opt/t5"
    352 if [ ! -d "$t5_file" ];then
    353     echo -e "${error}${green_font}文件夹不存在,不得分${end_font}"    
    354 else
    355     let t5_sum=$t5_sum+1
    356     echo -e "${green_font}文件夹已存在,得1分${end_font}"
    357     file_user=$(stat /opt/t5/ |grep Access: (|awk '{print $6}'|cut -f1 -d ')')
    358     file_group=$(stat /opt/t5/ |grep Access: (|awk '{print $10}'|cut -f1 -d ')')
    359     #判断所属用户
    360     if [ ${file_user} == hniu${snum} ];then
    361         let t5_sum=$t5_sum+2
    362         echo -e "${green_font}所属用户配置正确,得2分${end_font}"
    363         else
    364         echo -e "${error}${green_font}所属用户配置错误,不得分${end_font}"
    365     fi
    366     #判断所属组
    367     if [ ${file_group} == root ];then
    368         let t5_sum=$t5_sum+2
    369         echo -e "${green_font}所属组配置正确,得2分${end_font}"
    370         else
    371         echo -e "${error}${green_font}所属组配置错误,不得分${end_font}"
    372     fi
    373 fi
    374 
    375 echo -e "
    
    ${tip}${red_font}本题共5分,得 ${t5_sum} 分${end_font}"
    376 ##--------------此处添加函数代码----------------##
    377 ##**********************************************##
    378 sleep 2s
    379 printf "
    
    "
    380 }
    381 
    382 function t6() {
    383 ##**********************************************##
    384 ##--------------此处添加函数代码----------------##
    385 echo "--------------第六题----------------"
    386 echo -e "${info}"
    387 t6_sum=0
    388 
    389 t6_path="/opt/t6/"
    390 #判断文件夹是否存在
    391 if [ ! -d ${t6_path} ];then
    392     echo -e "${error}${green_font}文件夹不存在,不得分${end_font}"
    393 else
    394     ##文件夹存在
    395     #创建对比文件夹
    396     mkdir /opt/T6
    397     find /etc/ -name group* -exec cp -rf {} /opt/T6 ; &>/dev/null
    398     #判断找到的文件是否一致
    399     diff -r $t6_path /opt/T6 &>/dev/null
    400     if [ $? -eq 0 ];then
    401         let t6_sum=$t6_sum+5
    402         echo -e "${green_font}文件查找并复制正确,得5分${end_font}"
    403     
    404             #判断文件权限是否正确
    405 

                stat $t6_path/* |grep Access: (|awk '{print $2}'|cut -f1 -d '/' >/tmp/t6_quan1
                echo -e "(0744 (0744 (0744" >/tmp/t6_quan2
                diff /tmp/t6_quan1 /tmp/t6_quan2 &>/dev/null
                
                if [ $? -eq 0 ];then
                    let t6_sum=$t6_sum+5
                    echo -e "${green_font}文件权限设置正确,得5分${end_font}"
                else
                    echo -e "${error}${green_font}文件权限设置错误,不得分${end_font}"
                fi

                sleep 0.5s
                
        else
            echo -e "${error}${green_font}文件查找并复制错误,不得分${end_font}"
        fi

        sleep 0.5s
    fi

    #删除对比文件夹
    rm -rf /opt/T6
    rm -rf /tmp/t6_*


    echo -e " ${tip}${red_font}本题共10分,得 ${t6_sum} 分${end_font}"
    ##--------------此处添加函数代码----------------##
    ##**********************************************##
    sleep 2s
    printf " "
    }

    function t7() {
    ##**********************************************##
    ##--------------此处添加函数代码----------------##
    echo "--------------第七题----------------"
    echo -e "${info}"

    t7_sum=0
    #判断YUM配置是否正确
    yum clean all &>/dev/null
    ##yum list &>/dev/null
    yum repolist 2>/dev/null |grep repo id &>/dev/null
    if [ $? -eq 0 ];then
        let t7_sum=$t7_sum+5
        echo -e  "${green_font}yum配置正确,得5分${end_font}"
    else
        echo -e "${error}${green_font}yum配置错误,不得分${end_font}"
    fi
    sleep 0.5s

    #判断YUM的仓库ID与名称设置是否正确
    yum_idlist=$(yum repolist 2>/dev/null |grep hniu |awk '{printf $1}')
    yum_namelist=$(yum repolist 2>/dev/null |grep hniu |awk '{printf $2}')
    if [ "$yum_idlist" = "hniu" ];then
        let t7_sum=$t7_sum+3
        echo -e  "${green_font}yum仓库ID设置正确,得3分${end_font}"
    else
        echo -e  "${error}${green_font}yum仓库ID设置错误,不得分${end_font}"
    fi
    sleep 0.5s

    if [ "$yum_namelist" = "jiying" ];then
        let t7_sum=$t7_sum+2
        echo -e  "${green_font}yum仓库名称设置正确,得2分${end_font}"
    else
        echo -e  "${error}${green_font}yum仓库名称设置错误,不得分${end_font}"
    fi
    sleep 0.5s
    #判断zsh是否安装
    yum list installed |grep zsh &>>/dev/null
    if [ $? -eq 0 ];then
        let t7_sum=$t7_sum+5
        echo -e "${green_font}zsh安装成功,得5分${end_font}"
    else
        echo -e "${error}${green_font}zsh安装失败,不得分${end_font}"
    fi
    sleep 0.5s

    echo -e " ${tip}${red_font}本题共15分,得 ${t7_sum} 分${end_font}"
    ##--------------此处添加函数代码----------------##
    ##**********************************************##
    sleep 2s
    printf " "
    }


    function t8() {
    ##**********************************************##
    ##--------------此处添加函数代码----------------##
    echo "--------------第八题----------------"
    echo -e "${info}"

    t8_sum=0
    #分区类型
    function swap_disk() {
    sleep 0.5s
    echo -e "${tip}:${red_font}当前新swap分区为分区类型${end_font}"
    sleep 0.5s
    disk_size=$(lsblk |grep SWAP|grep -v swap|awk '{print $4}')
    if [ "${disk_size}" == "1G" ];then
        let t8_sum=$t8_sum+2
        echo -e "${green_font}swap大小为$disk_size,得2分${end_font}"
    else
         echo -e "${error}${green_font}swap大小为$disk_size,不得分${end_font}"
    fi

    }
    #文件类型
    function swap_file() {
    sleep 0.5s
    echo -e "${tip}:${red_font}当前新swap分区为文件类型${end_font}"
    sleep 0.5s
    t8_file=$(swapon -s|grep -v Type |grep -v /dev/dm |tail -1 |awk '{print $1}')
    file_size=$(ls -lh $t8_file |awk '{print $5}')
    if [ "$file_size" == "1.0G" ];then
        let t8_sum=$t8_sum+2
        echo -e "${green_font}swap大小为$file_size,得2分${end_font}"
    else
        echo -e "${error}${green_font}swap大小为$file_size,不得分${end_font}"
    fi

    }
    #永久性挂载判断(文件判断)
    function swap_mount() {
    sleep 1s
    cat /etc/fstab |grep swap |grep -v mapper &>/dev/null
    if [ $? -eq 0 ];then
        let t8_sum=$t8_sum+5
        echo -e "${green_font}swap分区永久性挂载正确,得5分${end_font}"
    else
        echo -e "${error}${green_font}swap分区永久性挂载错误,不得分${end_font}"
    fi
    sleep 0.5s
    }
    sleep 1s
    #判断有无新swap分区启用
    swapon -s|grep -v Type |grep -v /dev/dm &>/dev/null
    if [ $? -eq 0 ];then
        let t8_sum=$t8_sum+3
        echo -e "${green_font}有新swap分区启用,得3分${end_font}"
            #判断swap为什么类型
            swap_type=$(swapon -s|grep -v Type |grep -v /dev/dm |tail -1 |awk '{print $2}')
            case "$swap_type" in
                partition)
                swap_disk
                swap_mount
                ;;
                file)
                swap_file
                swap_mount
                ;;
                *)
                echo -e "${error}${green_font}未知的swap类型,不得分${end_font}"
                ;;
            esac
    else
        echo -e "${error}${green_font}新swap分区未启用,不得分${end_font}"
    fi

    echo -e " ${tip}${red_font}本题共10分,得 ${t8_sum} 分${end_font}"
    ##--------------此处添加函数代码----------------##
    ##**********************************************##
    sleep 2s
    printf " "
    }

    function t9() {
    ##**********************************************##
    ##--------------此处添加函数代码----------------##
    echo "--------------第九题----------------"
    echo -e "${info}"

    t9_sum=0

    lsblk |grep sd |grep G |grep ─|grep -v /boot|grep -v SWAP|head -2 |grep 2G &>/dev/null
    if [ $? -eq 0 ];then
        let t9_sum=$t9_sum+5
        echo -e "${green_font}有分区为2G,得5分${end_font}"
        sleep 0.5s
        #判断分区文件系统
        disk_name=$(lsblk |grep sd |grep G |grep ─|grep -v /boot|grep -v SWAP|head -2 |grep 2G|awk '{print $1}'|cut -f2 -d '─')
        disk_fs=$(lsblk -f|grep $disk_name|awk '{print $2}')
        t9_mount="/mnt/disk"
        disk_mount=$(lsblk -f|grep $disk_name|awk '{print $4}')
        if [ "${disk_fs}" == "ext4" ];then
            let t9_sum=$t9_sum+2
            echo -e "${green_font}该分区的文件系统为${disk_fs},得2分${end_font}"
        else
            echo -e "${error}${green_font}该分区的文件系统为${disk_fs},不得分${end_font}"
        fi
        sleep 0.5s

        #判断分区文件挂载
    umount ${t9_mount} &>/dev/null
    mount -a $>/dev/null
        if [ "${disk_mount}" == "${t9_mount}" ];then
            let t9_sum=$t9_sum+3
            echo -e "${green_font}该分区的挂载设置正确,得3分${end_font}"
        else
            echo -e "${error}${green_font}该分区的挂载设置错误,不得分${end_font}"
        fi
        sleep 0.5s
    else
        echo -e "${error}${green_font}}没有分区为2G,不得分${end_font}"
        sleep 0.5s
    fi

    echo -e " ${tip}${red_font}本题共10分,得 ${t9_sum} 分${end_font}"
    ##--------------此处添加函数代码----------------##
    ##**********************************************##
    sleep 2s
    printf " "
    }

    function t10() {
    ##**********************************************##
    ##--------------此处添加函数代码----------------##
    echo "--------------第十题----------------"
    echo -e "${info}"

    t10_sum=0

    #判断卷组hniu是否存在
    vgscan |grep hniu &>/dev/null
    if [ $? -eq 0 ];then
        let t10_sum=$t10_sum+5
        echo -e "${green_font}卷组hniu创建成功,得5分${end_font}"
        #判断逻辑卷hniuX是否存在
        lvs |grep hniu$snum &>/dev/null
        if [ $? -eq 0 ];then
            let t10_sum=$t10_sum+3
            echo -e "${green_font}逻辑卷hniu${snum}创建成功,得3分${end_font}"
            #判断逻辑卷大小
            lvm_size=$(lvs |grep hniu$snum|awk '{print $4}')
            if [ "${lvm_size}" == "1.00g" ];then
                let t10_sum=$t10_sum+2
                echo -e "${green_font}逻辑卷大小为${lvm_size},得2分${end_font}"
            else
                echo -e "${error}${green_font}逻辑卷大小为${lvm_size},不得分${end_font}"
            fi
            #判断文件系统
            lvm_fs=$(lsblk -f|grep hniu$snum|awk '{print $2}')
            if [ "${lvm_fs}" == "xfs" ];then
                let t10_sum=$t10_sum+3
                echo -e "${green_font}逻辑卷文件系统为${lvm_fs},得3分${end_font}"
            else
                echo -e "${error}${green_font}逻辑卷文件系统为${lvm_fs},不得分$${end_font}"
            fi
            #判断挂载点
            lvm_mount=$(df -h |grep hniu$snum |awk '{print $6}')
            if [ "${lvm_mount}" == "/mnt/lvm" ];then
                let t10_sum=$t10_sum+2
                echo -e "${green_font}挂载点正确,得2分${end_font}"
            else
                echo -e "${error}${green_font}挂载点错误,不得分${end_font}"
            fi
        else
            echo -e "${error}${green_font}逻辑卷hniu${snum}未创建,不得分${end_font}"
        fi
    else
        echo -e "${error}${green_font}卷组hniu未创建,不得分${end_font}"
    fi

    echo -e " ${tip}${red_font}本题共15分,得 ${t10_sum} 分${end_font}"
    ##--------------此处添加函数代码----------------##
    ##**********************************************##
    sleep 2s
    printf " "
    }

    function grade() {
    ##**********************************************##
    ##--------------此处添加函数代码----------------##
    zsum=$(expr $t1_sum + $t2_sum + $t3_sum + $t4_sum + $t5_sum + $t6_sum + $t7_sum + $t8_sum + $t9_sum + $t10_sum)
    echo -e " ${tip}${red_font}本试卷总分100分,您得 ${zsum} 分${end_font}"
    ##--------------此处添加函数代码----------------##
    ##**********************************************##
    printf " "
    }

    #学号函数
    function xuehao () {
    snum=60
    while [[ $snum -le 0 || $snum -gt 55 ]]
    do
    echo -ne "${red_font}请输入学号[1-55]:${end_font}" && read -e snum
    done
    }

    function run() {
    xuehao
    menu
    }

    run

  • 相关阅读:
    javascript如何封装函数
    addEventListener和attachEvent区别
    Infinity NaN undefined和null
    hasOwnProperty
    蜂巢式图片墙布局
    复选框使用总结
    文本框获得焦点时改变背景颜色
    自定义动画animate
    click()、bind()、live()和delegate()方法
    图片提示效果
  • 原文地址:https://www.cnblogs.com/kunges/p/11074053.html
Copyright © 2020-2023  润新知