• shell小练习2


    目录

    1、a.拿出你CPU的类型:vender_id ​ ;b.拿出你CPU的具体型号: model name

    2、输入成绩判断等级: 根据用户输入成绩,判断优良中差。ABCD 85-100 优秀--A 70-84 良好--B 60-69 合格--C 60分以下不合格--D 第一个输入的是有效的成绩: a.输入不能为空 b.输入的必须是一个整数 c.输入的整数必须>=0, <=100

    3、获取根分区剩余空间百分比数

    4、打印出下面语句中字符数不大于6的单词

    5、九九乘法表(for和while两种方式)


    1、a.拿出你CPU的类型:vender_id ​ ;b.拿出你CPU的具体型号: model name

    1. [root@host3 day05]# str_data=`cat /proc/cpuinfo | grep vendor_id | uniq`
    2. [root@host3 day05]# echo ${str_data#* }
    3. GenuineIntel
    4. [root@host3 day05]# echo ${str_data##* }
    5. GenuineIntel
    6. [root@host3 day05]# echo ${str_data##*" "}
    7. GenuineIntel
    8. [root@localhost day05]# result=`cat /proc/cpuinfo | grep "model name" | head -1`
    9. [root@localhost day05]# echo ${result##*":"}
    10. Intel(R) Core(TM) i5-10210U CPU @ 1.60GHz

    2、输入成绩判断等级: 根据用户输入成绩,判断优良中差。ABCD 85-100 优秀--A 70-84 良好--B 60-69 合格--C 60分以下不合格--D 第一个输入的是有效的成绩: a.输入不能为空 b.输入的必须是一个整数 c.输入的整数必须>=0, <=100

    1. [root@localhost day05]# vim grade.sh
    2. #!/bin/bash
    3. read -p "请输入你的成绩:" grade
    4. [ -z $grade ] && echo "你输入的成绩为空" && exit
    5. expr $grade + 1 >& /dev/null
    6. result=$?
    7. [ $result -eq 2 ] &&  echo "输入必须是整数"  && exit
    8. if [ $grade -lt 0 ] || [ $grade -gt 100 ]
    9. then
    10.   echo "输入必须为0~100之间整数"
    11.   exit
    12. fi
    13. [ $grade -le 100 -a $grade -ge 85 ] && echo "优秀--A"
    14. [ $grade -le 84 -a $grade -ge 70 ] && echo "良好--B"
    15. [ $grade -le 69 -a $grade -ge 60 ] && echo "合格--C"
    16. [ $grade -lt 60 ] && echo "不合格--D"
    17. if [ $grade -lt 60 ]
    18. then
    19.   echo "不合格--D"
    20. elif [ $grade -le 69 ]
    21. then
    22.   echo "合格--C"
    23. elif [ $grade -le 89 ]
    24. then
    25.   echo "良好--B"
    26. else
    27.   echo "优秀--A"
    28. fi

    3、获取根分区剩余空间百分比数

    1. [root@localhost day06]# disk_usage=`df -h / | grep /`
    2. [root@localhost day06]# echo ${disk_usage%'%'*}
    3. /dev/mapper/centos-root 17G 1.3G 16G 8
    4. [root@localhost day06]# disk_usage=`echo ${disk_usage%'%'*}`
    5. [root@localhost day06]# echo ${disk_usage##* }
    6. 8
    7. [root@localhost day06]# disk_usage=`echo ${disk_usage##* }`
    8. [root@localhost day06]# echo $disk_usage
    9. 8

    4、打印出下面语句中字符数不大于6的单词

    rabbit is favorite to eat cabbage

    1. [root@localhost day06]# vim letter.sh
    2. #!/bin/bash
    3. for i in rabbit is favorite to eat cabbage
    4. do
    5.   str_lenth=`echo ${#i}`
    6.   if [ $str_lenth -le 6 ]
    7.   then
    8.    echo "$i"
    9.   fi
    10. done
    11. [root@localhost day06]# sh letter.sh
    12. rabbit
    13. is
    14. to
    15. eat

    5、九九乘法表(for和while两种方式)

    方法一(for):

    1. [root@localhost day06]# vim multi_table.sh
    2. #!/bin/bash
    3. for ((i=1;i<10;i++))
    4. do
    5.    for ((j=1;j < $i+1 ;j++))
    6.    do
    7.      printf "$i * $j = %2d  " `expr $i '*' $j`
    8.    done
    9.    echo ""
    10. done
    11. [root@localhost day06]# sh multi_table.sh
    12. 1 * 1 =  1  
    13. 2 * 1 =  2  2 * 2 =  4  
    14. 3 * 1 =  3  3 * 2 =  6  3 * 3 =  9  
    15. 4 * 1 =  4  4 * 2 =  8  4 * 3 = 12  4 * 4 = 16  
    16. 5 * 1 =  5  5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25  
    17. 6 * 1 =  6  6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36  
    18. 7 * 1 =  7  7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49  
    19. 8 * 1 =  8  8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64  
    20. 9 * 1 =  9  9 * 2 = 18  9 * 3 = 27  9 * 4 = 36  9 * 5 = 45  9 * 6 = 54  9 * 7 = 63  9 * 8 = 72  9 * 9 = 81 

    方法二(while):

    1. [root@localhost day06]# vim multi_table1.sh
    2. #!/bin/bash
    3. i=1
    4. while i<10
    5. do
    6.   j=1
    7.   while j<10
    8.   do
    9.    printf "$i * $j = %2d  " `expr $i '*' $j`
    10.    let j++
    11.   done
    12.   let i++
    13. done
    14. [root@localhost day06]# sh multi_table.sh
    15. 1 * 1 =  1  
    16. 2 * 1 =  2  2 * 2 =  4  
    17. 3 * 1 =  3  3 * 2 =  6  3 * 3 =  9  
    18. 4 * 1 =  4  4 * 2 =  8  4 * 3 = 12  4 * 4 = 16  
    19. 5 * 1 =  5  5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25  
    20. 6 * 1 =  6  6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36  
    21. 7 * 1 =  7  7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49  
    22. 8 * 1 =  8  8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64  
    23. 9 * 1 =  9  9 * 2 = 18  9 * 3 = 27  9 * 4 = 36  9 * 5 = 45  9 * 6 = 54  9 * 7 = 63  9 * 8 = 72  9 * 9 = 81

  • 相关阅读:
    Spring Cloud 配置中心实战教程
    对象创建过程
    Application Load Balancer-ALB
    对基本数据类型、String类型、Object类型元素所构成的数组或List集合进行排序
    Effective C++ 阅读笔记 03:资源管理
    【STL容器】list
    mysql备份和还原全部的数据库
    mobileFX_WebKitX_CEF3_ActiveX_x86_v6.0.0.15802
    VulnHub — Lampiao
    苹果推出iOS15.2正式版,“数字遗产”计划正式上线,你的“继承人”是谁?
  • 原文地址:https://blog.csdn.net/weixin_52951697/article/details/127943059