开发者社区> 余二五> 正文

Linux之脚本编程---for及while应用

简介:
+关注继续查看

过程式编程

选择执行

顺序执行: if, case

循环执行: for, while, until


for循环列表

1
2
3
4
5
6
7
8
for in LIST; do
    循环体
done
 
for in LIST
do
    循环体
done

wKioL1m0D4WwE7hkAAApDfCzWpM544.png


while循环

1
2
3
4
5
6
7
8
9
10
11
12
while CONDITION; do
    循环体
done
 
while CONDITION
do
    循环体
done
 
CONDITION 循环控制条件,每执行一次循环体,需要再次进行判断 
   true时,执行一次循环
   false时,退出循环

练习:100以内所有正整数之和

练习: 100以内所有偶数和

练习:添加10个用户

练习:通过ping命令探测172.16.250.1-254范围内的所有主机的在线状态.用while循环

练习:打印9x9乘法表

练习:利用RANDOM生成10个随机数,输出这10个数字,并显示其中最大者和最小者


练习:100以内所有正整数之和

1
2
3
4
5
6
7
8
#!/bin/bash
#
declare -i sum=0
for in {1..100}; do
    let sum=$sum+1
done
echo $i
echo "summary: $sum"
1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
#
declare -i sum=0
declare -i i=1
while [ $i -le 100 ]; do
    sum=$[$sum+$i]
    let i++
done
 
echo $i
echo "summary: $sum"

练习: 100以内所有偶数和

1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
#
declare -i sum=0
declare -i i=2
while [ $i -le 100 ]; do
    sum=$[$sum+$i]
    let i+=2
done
 
echo $i
echo "summary: $sum" 

练习:添加10个用户user1-user10

1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
#
declare -i i=1
declare -i users=0
while [ $i -le 10 ]; do
    id user$i &> /dev/null
    retval=$?
    [ $retval -ne 0 ] && useradd user$i &> /dev/null
    [ $? -eq 0 ] && echo "Add user user$i finished" && let users=$users+1
done
 
echo "Add $users users"

练习:通过ping命令探测172.16.250.1-254范围内的所有主机的在线状态.用while循环

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
#
declare -i IP='172.16.250.'
declare -i i=1
declare -i uphosts=0
declare -i downhosts=0
while [ $i -le 254 ]; do
    if ping -c 1 -w 1  $IP$i &> /dev/null; then
        echo "$IP$i is up"
        let uphosts++
    else
        echo "$IP$i is down"
        let downhosts++
    fi
done
 
echo "uphosts: $uphosts"
echo "downhosts: $downhosts"

练习:打印9x9乘法表

1
2
3
4
5
6
7
8
9
#!/bin/bash
#
for in {1..9}; do
    for in $(seq 1 1 $i); do
        echo -ne "${j}X${i}=$[$i*$j]\t"
        j=$(($j+1))
    done
    echo
done
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
#
declare -i i=1
while [ $i -le 9 ]; do
    declare -i j=1
    while [ $j -le $i ]; do
        echo -ne "${j}X${i}=$[$i*$j]\t"
        j=$(($j+1))
    done
    echo
    i=$(expr $i + 1)
done   

练习:利用RANDOM生成10个随机数,输出这10个数字,并显示其中最大者和最小者

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/bin/bash
#
declare -i max=
declare -i min=
declare -i i=1
declare -i random
while [ $i -le 10 ]; do
    random=$RANDOM
    echo $random
 
    if [ $i -eq 1 ]; then
        max=$random
        min=$max
    fi
 
    if [ $i -gt 1 ]; then
        if [ $random -gt $max ]; then
            max=$random
        fi
        if [ $random -lt $min ]; then
            min=$random
        fi
    fi
    let i++
done
 
echo "max: $max"
echo "min: $min"
==========================================
#!/bin/bash
#
declare -i max=
declare -i min=
declare -i i=1
declare -i random
while [ $i -le 10 ]; do
    random=$RANDOM
    echo $random
 
    if [ $i -eq 1 ]; then
        max=$random
        min=$max
    fi
 
    if [ $random -gt $max ]; then
        max=$random
    fi
    if [ $random -lt $min ]; then
        min=$random
    fi
    let i++
done
 
echo "max: $max"
echo "min: $min"










本文转自 lccnx 51CTO博客,原文链接:http://blog.51cto.com/sonlich/1964037,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
linux下,popen函数的应用举例
linux下,popen函数的应用举例
27 0
Linux系统安全与应用
系统安全问题一直存在着,当系统往往出现安全漏洞的时候会对我们的系统运行有一定程度的影响,严重的话还会造成系统瘫痪等问题。
56 0
Linux 温习(四): Systemd 分析与应用
一个运行起来的程序被为 进程,进程的英语是 process
21 0
Linux系统安全及应用
⭐本文介绍⭐ 作为一种开放源代码的操作系统,Linux服务器以其安全,高效和稳定的显著优势而得以广泛应用。本文主要从账号安全控制、系统引导和登录控制的角度,介绍Linux系统安全优化的点点滴滴;还将介绍基于Linux环境的弱口令检测、网络扫描等安全工具的构建和使用,帮助管理员查找安全隐患,及时采取有针对性的防护措施。
21 0
OpenJDK8 JAVA应用窗口在不同缩放比例下的表现(Linux)
OpenJDK8 JAVA应用窗口在不同缩放比例下的表现(Linux)
16 0
LINUX SHELL使用while循环数组
LINUX SHELL使用while循环数组
36 0
LINUX SHELL中while循环和遍历参数
LINUX SHELL中while循环和遍历参数
47 0
Linux Shell中 While循环语句
Linux Shell中 While循环语句
92 0
LINUX SHELL使用while循环数组
LINUX SHELL使用while循环数组
68 0
LINUX SHELL中while循环和遍历参数
LINUX SHELL中while循环和遍历参数
141 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Decian GNU/Linux安全合规之路
立即下载
从 Linux 系统内核层面来解决实际问题的实战经验
立即下载
冬季实战营第二期:Linux操作系统实战入门
立即下载