【shell】shell脚本实战-for循环
发布时间
阅读量:
阅读量
文章目录
-
-
-
- 前言
-
-
for循环介绍
-
for循环的语法分析
-
for循环应用举例
-
- 1. 从命令中取值
- 2. 输出从1到10
- 3. 批量用户处理
- 4. ping命令最经典的脚本
- 5. 批量重命名文件
-
总结
-
前言
循环语句主要用于反复执行一条命令或一组命令直至满足特定条件时停止执行。在Shell编程中常用的几种循环结构包括while、until、for和select等。
我们今天将深入研究第一个起始性循环结构——for循环。
对于这种基本而常用的编程控制结构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
echo $i
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 user$i
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 to $new"
mv "$img" "$new"
let count++ ## 生成 image-1 image-2的格式
done
代码解读
总结
for循环是工作中用到的最多的工具了,一定要多加练习。
全部评论 (0)
还没有任何评论哟~
