首页
运维教程
Linux基础
系统服务
系统架构
数据库
shell脚本
虚拟化
大数据
DevOps
企业案例
运维开发
python
go语言
运维安全
行业资讯
网络基础
系统安全
运维面试
学习路线
学习方法
面试题库
职场解惑
常用软件
运维软件
办公软件
书籍资源
日知录
招聘信息
读书计划
书单
关于我们
首页 运维教程Linux基础【shell】shell脚本实战-for循环

【shell】shell脚本实战-for循环

@[toc]

前言

循环语句常用于重复执行一条命令或一组命令等,直到达到结束条件后,则终止执行。在Shell中常见的循环命令有while、until、for和select等
今天我们来探讨第一个循环语句,for循环。

for循环介绍

for循环语句与while循环语句类似,但for循环语句主要用于有限次的循环场景,while主要无限次循环的场景,如守护进程。

for循环的语法分析

1.第一种格式

for  变量  in  列表
do
    操作
done

2,.第二种格式

for  ((初始化表达式; 条件表达式; 更新循环变量表达式))
do
    循环语句
done

在这里插入图片描述

for循环应用举例

1. 从命令中取值
[root@ecs-c13b for]# cat passwd    ### 创建好的密码文件
zhangsan 12345678
lisi  123456789
wuwang  123
wangermazi 123456
[root@ecs-c13b for]# cat for1.sh     ### 写好的脚本
#!/bin/bash
for i in `cat /root/for/passwd`
do
echo "$i"
done

[root@ecs-c13b for]# bash for1.sh   ### 执行脚本以及执行后的效果
zhangsan
12345678
lisi
123456789
wuwang
123
wangermazi
123456
2. 输出从1到10

方法一:

[root@ecs-c13b for]# cat for2.sh 
#!/bin/bash 
for i in ( seq 1 10)
do   echoi
done

方法二:

[root@ecs-c13b for]# cat for3.sh 
#!/bin/bash
for (( i=1; i<=10; i++ ))
do
    echo $i
done

方法三:

[root@ecs-c13b for]# cat for2.sh 
#!/bin/bash 
for i in {1..10}
do 
   echo $i
done
3. 批量用户处理

创建10个用户

[root@ecs-c13b for]# cat for3.sh 
#!/bin/bash
for (( i=1; i<=10; i++ ))
do
    echo "正在创建第i个用户"
        useradd useri
done
4. ping命令最经典的脚本

判断ip的是否可用 使用ping命令进行判断

[root@ecs-c13b for]# cat for4.sh 
#!/bin/bash

for i in {1..100}
do
 ping -c1 -i0.2 -w1 192.168.1.i if ((?==0));then
    echo "192.168.1.i is up" else
        echo "192.168.1.i is down" 
 fi

done
5. 批量重命名文件
[root@ecs-c13b for]# cat for5.sh 
#!/bin/ bash 

#文件名: rename. sh 

#用途: 重命名 .jpg 和 .png 文件

count=1; 

for img in ` find . -iname '*.png' -o -iname '*.jpg' -type f `     
               ## 使用find查找png和jpg的文件 -o 指定多个-iname选项
do

new=image-count.{img##*.}    ##使用##和mv将查找到的文件重命名

echo "Renaming img tonew" 

mv "img" "new"   

let count++   ## 生成 image-1 image-2的格式

done

总结

for循环是工作中用到的最多的工具了,一定要多加练习。

本文链接:http://www.geekyunwei.com/2050.html

网友评论comments

发表评论

邮箱地址不会被公开。 必填项已用*标注

暂无评论

Copyright © 2021 极客运维 备案号: 京ICP备2021004281号
扫二维码
扫二维码
返回顶部