【shell】shell脚本实战-for循环
【摘要】
文章目录
前言for循环介绍for循环的语法分析for循环应用举例1. 从命令中取值2. 输出从1到103. 批量用户处理4. ping命令最经典的脚本5. 批量重命名文件 总结
前言
循环语句常用于重复执行一条命令或一组命令等,直到达到结束条件后,则终止执行。在Shell中常见的循环命令有while、until、for和select等 今天...
前言
循环语句常用于重复执行一条命令或一组命令等,直到达到结束条件后,则终止执行。在Shell中常见的循环命令有while、until、for和select等
今天我们来探讨第一个循环语句,for循环。
for循环介绍
for循环语句与while循环语句类似,但for循环语句主要用于有限次的循环场景,while主要无限次循环的场景,如守护进程。
for循环的语法分析
1.第一种格式
for 变量 in 列表
do
操作
done
- 1
- 2
- 3
- 4
2,.第二种格式
for ((初始化表达式; 条件表达式; 更新循环变量表达式))
do
循环语句
done
- 1
- 2
- 3
- 4
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
2. 输出从1到10
方法一:
[root@ecs-c13b for]# cat for2.sh
#!/bin/bash
for i in $( seq 1 10)
do echo $i
done
- 1
- 2
- 3
- 4
- 5
- 6
方法二:
[root@ecs-c13b for]# cat for3.sh
#!/bin/bash
for (( i=1; i<=10; i++ ))
do
echo $i
done
- 1
- 2
- 3
- 4
- 5
- 6
方法三:
[root@ecs-c13b for]# cat for2.sh
#!/bin/bash
for i in {1..10}
do echo $i
done
- 1
- 2
- 3
- 4
- 5
- 6
3. 批量用户处理
创建10个用户
[root@ecs-c13b for]# cat for3.sh
#!/bin/bash
for (( i=1; i<=10; i++ ))
do
echo "正在创建第$i个用户" useradd user$i
done
- 1
- 2
- 3
- 4
- 5
- 6
- 7
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
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 to $new"
mv "$img" "$new" let count++ ## 生成 image-1 image-2的格式
done
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
总结
for循环是工作中用到的最多的工具了,一定要多加练习。
文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。
原文链接:zmedu.blog.csdn.net/article/details/107894463
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)