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

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。