
关于Shell中for循环几种常见用法的分享
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本文详细介绍了在Shell脚本编程中如何运用for循环实现多种操作,包括基础用法、数组遍历和文件名迭代等技巧,适合初学者参考学习。
在Shell脚本编程中,`for`循环是一个非常基础且重要的结构,用于执行一系列命令多次。今天我们将深入探讨三种常见的`for`循环用法:数字性循环、字符性循环和路径查找。
### 第一类:数字性循环
数字性循环通常用于处理一系列连续的整数。以下是一些例子:
1. **基于`((...))`运算符的循环**:
```bash
#!/bin/bash
for ((i=1; i<=10; i++)); do
echo $((i * 3 + 1))
done
```
这种方法利用`((...))`运算符初始化、比较和更新变量`i`。
2. **使用`seq`命令**:
```bash
#!/bin/bash
for i in $(seq 1 10); do
echo $((i * 3 + 1))
done
```
`seq`命令可以生成一个数字序列,这里从1到10。
3. **使用花括号扩展**:
```bash
#!/bin/bash
for i in {1..10}; do
echo $((i * 3 + 1))
done
```
花括号扩展在Shell中用于表示一个范围,这里从1到10。
4. **使用`awk`命令**:
```bash
#!/bin/bash
awk BEGIN{for (i=1; i<=10; i++) print i}
```
`awk`可以实现循环,虽然这不是纯Shell的写法,但在某些情况下可能更方便。
### 第二类:字符性循环
字符性循环适用于遍历字符串或字符列表:
1. **遍历目录中的文件名**:
```bash
#!/bin/bash
for i in `ls`; do
echo $i is file name!
done
```
`ls`命令列出当前目录的文件,`for`循环遍历每个文件名。
2. **处理命令行参数**:
```bash
#!/bin/bash
for i in $@; do
echo $i is input chart!
done
```
`$@`代表所有命令行参数,循环处理每一个参数。
3. **指定特定字符或单词**:
```bash
#!/bin/bash
for i in f1 f2 f3; do
echo $i is appoint!
done
```
直接在循环中列出要遍历的字符或单词。
4. **使用变量存储列表**:
```bash
list=rootfs usr data data2
for i in $list; do
echo $i is appoint!
done
```
将字符列表存储在变量中,然后在循环中使用。
### 第三类:路径查找
这类循环主要用于遍历文件系统中的路径:
1. **遍历目录下的所有文件**:
```bash
#!/bin/bash
for file in proc*; do
echo $file is file path!
done
```
`proc*`匹配`proc`目录下的所有子目录和文件。
2. **遍历特定类型的文件**:
```bash
#!/bin/bash
for file in $(ls *.sh); do
echo $file is file path!
done
```
`ls *.sh`返回当前目录下所有`.sh`文件,然后循环处理它们。
这些例子展示了Shell中`for`循环的灵活性和实用性。了解这些用法可以帮助你编写更高效、更具可读性的脚本。在实际应用中,根据具体需求选择合适的循环结构,可以提高代码的效率和可维护性。
全部评论 (0)


