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

[root@host3 day05]# str_data=`cat /proc/cpuinfo | grep vendor_id | uniq`
[root@host3 day05]# echo ${str_data#* }
GenuineIntel
[root@host3 day05]# echo ${str_data##* }
GenuineIntel
[root@host3 day05]# echo ${str_data##*" "}
GenuineIntel
[root@localhost day05]# result=`cat /proc/cpuinfo | grep "model name" | head -1`
[root@localhost day05]# echo ${result##*":"}
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

[root@localhost day05]# vim grade.sh
​
#!/bin/bash
read -p "请输入你的成绩:" grade
​
[ -z $grade ] && echo "你输入的成绩为空" && exit
expr $grade + 1 >& /dev/null
result=$?
[ $result -eq 2 ] &&  echo "输入必须是整数"  && exit
​
if [ $grade -lt 0 ] || [ $grade -gt 100 ]
then
  echo "输入必须为0~100之间整数"
  exit
fi
​
[ $grade -le 100 -a $grade -ge 85 ] && echo "优秀--A"
[ $grade -le 84 -a $grade -ge 70 ] && echo "良好--B"
[ $grade -le 69 -a $grade -ge 60 ] && echo "合格--C"
[ $grade -lt 60 ] && echo "不合格--D"
​
if [ $grade -lt 60 ]
then
  echo "不合格--D"
elif [ $grade -le 69 ]
then
  echo "合格--C"
elif [ $grade -le 89 ]
then
  echo "良好--B"
else
  echo "优秀--A"
fi

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

[root@localhost day06]# disk_usage=`df -h / | grep /`
[root@localhost day06]# echo ${disk_usage%'%'*}
/dev/mapper/centos-root 17G 1.3G 16G 8
[root@localhost day06]# disk_usage=`echo ${disk_usage%'%'*}`
[root@localhost day06]# echo ${disk_usage##* }
8
[root@localhost day06]# disk_usage=`echo ${disk_usage##* }`
[root@localhost day06]# echo $disk_usage
8

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

rabbit is favorite to eat cabbage

[root@localhost day06]# vim letter.sh
#!/bin/bash
for i in rabbit is favorite to eat cabbage
do
  str_lenth=`echo ${#i}`
  if [ $str_lenth -le 6 ]
  then
   echo "$i"
  fi
done
​
[root@localhost day06]# sh letter.sh
rabbit
is
to
eat

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

方法一(for):

[root@localhost day06]# vim multi_table.sh
#!/bin/bash
for ((i=1;i<10;i++))
do
   for ((j=1;j < $i+1 ;j++))
   do
     printf "$i * $j = %2d  " `expr $i '*' $j`
   done
   echo ""
done
​
[root@localhost day06]# sh multi_table.sh
1 * 1 =  1  
2 * 1 =  2  2 * 2 =  4  
3 * 1 =  3  3 * 2 =  6  3 * 3 =  9  
4 * 1 =  4  4 * 2 =  8  4 * 3 = 12  4 * 4 = 16  
5 * 1 =  5  5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25  
6 * 1 =  6  6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36  
7 * 1 =  7  7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49  
8 * 1 =  8  8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64  
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):

[root@localhost day06]# vim multi_table1.sh
#!/bin/bash
i=1
while i<10
do
  j=1
  while j<10
  do
   printf "$i * $j = %2d  " `expr $i '*' $j`
   let j++
  done
  let i++
done
​
[root@localhost day06]# sh multi_table.sh
1 * 1 =  1  
2 * 1 =  2  2 * 2 =  4  
3 * 1 =  3  3 * 2 =  6  3 * 3 =  9  
4 * 1 =  4  4 * 2 =  8  4 * 3 = 12  4 * 4 = 16  
5 * 1 =  5  5 * 2 = 10  5 * 3 = 15  5 * 4 = 20  5 * 5 = 25  
6 * 1 =  6  6 * 2 = 12  6 * 3 = 18  6 * 4 = 24  6 * 5 = 30  6 * 6 = 36  
7 * 1 =  7  7 * 2 = 14  7 * 3 = 21  7 * 4 = 28  7 * 5 = 35  7 * 6 = 42  7 * 7 = 49  
8 * 1 =  8  8 * 2 = 16  8 * 3 = 24  8 * 4 = 32  8 * 5 = 40  8 * 6 = 48  8 * 7 = 56  8 * 8 = 64  
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值