目录
1、a.拿出你CPU的类型:vender_id ;b.拿出你CPU的具体型号: model name
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