基本使用
最直观的 for 语法如下
for name in [in words ...]; do
commands
done
我们可以利用 for 语法做一个遍历,例如
#!/bin/bash
for i in {1..10}; do
echo $i
done
这样看起来不是很直观,因此 shell 还提供一些类似高级语言的写法
for (( exp1; exp2; exp3 )); do
commands
done
因此上面的脚本可以改写如下
#!/bin/bash
for (( i = 1; i <= 10; i++ )); do
echo $i
done
遍历参数
如果省略了 for 结构语法的 in words ...,那么表示遍历脚本参数
#!/bin/bash
for param; do
echo $param
done
相比于用 shift 命令来遍历参数,for 结构可以保留原来的参数值不变。
小疑问
使用传统的 for 语法,只能把变量按1递增吗?当然不是。如果你这样认为,只能说对 shell 的大括号扩展不了解。
#!/bin/bash
# 输出1到10内的奇数
for i in {1..10..2}; do
echo $i
done
{1..10..2} 使用shell的大括号扩展语法,最后的..2表示以2递增。
本文深入解析Shell脚本中for循环的多种用法,包括基本语法、参数遍历及大括号扩展语法,展示了如何灵活控制循环变量的递增方式。
1万+

被折叠的 条评论
为什么被折叠?



