linux中while循环语句

1、测试1 求1-100的和

[root@centos7 test2]# cat test.sh
#!/bin/bash
sum=0
a=1
while [ $a -le 100 ]
do
let sum+=$a
let a++
done
echo "the sum of 1-100 is: $sum"
[root@centos7 test2]# bash test.sh
the sum of 1-100 is: 5050

2、用户输入决定程序循环的次数

[root@centos7 test2]# cat test.sh
#!/bin/bash
read -p "please input your choise: " choise
while [ $choise != q ]
do
read -p "input an number: " number
tmp=$(expr $number % 2)
if [ $tmp -eq 0 ]
then
echo "even!"
else
echo "odd"
fi
echo "choose to continue or quit. q: quit; other:continue!"
read -p "please input your choise: " choise
done
[root@centos7 test2]# bash test.sh
please input your choise: e
input an number: 8
even!
choose to continue or quit. q: quit; other:continue!
please input your choise: y
input an number: 7
odd
choose to continue or quit. q: quit; other:continue!
please input your choise: q

3、编写程序 每隔10秒显示系统负载、内存信息

[root@centos7 test2]# cat test.sh
#!/bin/bash
while true
do
uptime
free -h
echo "____________________________________________________________________________________________________"
sleep 10
done

4、结合read语句逐行读取数据

[root@centos7 test2]# cat test.sh
#!/bin/bash
seq 50 | while read i
do
tmp=$(expr $i % 5)
if [ $tmp -eq 0 ]
then
echo "$i"
fi
done
[root@centos7 test2]# bash test.sh
5
10
15
20
25
30
35
40
45
50

继续

[root@centos7 test2]# cat a.txt
4       8
2       5
1       4
6       3
3       2
[root@centos7 test2]# cat test.sh
#!/bin/bash
cat a.txt|while read i
do
a=$(echo $i | cut -d " " -f 1)
b=$(echo $i | cut -d " " -f 2)
c=$(expr $a \* $b)
echo "$c"
done
[root@centos7 test2]# bash test.sh
32
10
4
18
6
原文地址:https://www.cnblogs.com/liujiaxin2018/p/14690019.html