Bash 中的证书迭代
Fumbani Banda
2023年1月30日
2022年5月14日
-
在 Bash 中使用
for
循环获取范围 -
在 Bash 中使用带有三个表达式的
for
循环来获取范围 -
在 Bash 中使用
while
循环获取范围 -
在 Bash 中使用
eval
获取范围 -
在 Bash 中使用
seq
获取范围
本教程演示了在 bash 中使用 for
循环和 while
循环遍历一系列整数。
在 Bash 中使用 for
循环获取范围
下面的 bash 脚本使用带有大括号扩展的 for
循环来循环遍历一系列数字。大括号内的数字按顺序递增。
#!/bin/bash
printf "Print Numbers from 0 to 5\n"
for x in {0..5}
do
printf "number:$x\n"
done
输出:
Print Numbers from 0 to 5
number:0
number:1
number:2
number:3
number:4
number:5
在 Bash 中使用带有三个表达式的 for
循环来获取范围
该脚本使用 for
循环和 C 语言中的三表达式。这里,expr1
是初始化,expr2
是条件,而 expr3
是增量。
在我们的例子中,x
被初始化为 0
,如果 x
小于或等于 5
,则测试 x
,最后,x
增加 1
。
#!/bin/bash
max=5
printf "Print Numbers from 0 to $max\n"
for ((x=0;x<=max;x++)); do
printf "number: $x\n"
done
输出:
Print Numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5
在 Bash 中使用 while
循环获取范围
这使用带有二进制比较运算符 -le
的 while
循环,用于算术值比较。
在我们的例子中,只要 x
小于或等于变量 $max
,while 循环就会执行。
#!/bin/bash
x=0
max=5
printf "Print numbers from $x to $max\n"
while [ $x -le $max ]; do
printf "number: $x\n"
x=$(($x+1))
done
输出:
Print numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5
在 Bash 中使用 eval
获取范围
eval
是一个 bash 命令,用于将参数作为 shell 命令执行。在下面的脚本中,大括号以 1
为增量生成从 0
到 $max
的数字,for
循环遍历这些数字,printf
命令显示它们。
#!/bin/bash
max=4
printf "Print Numbers from 0 to $max\n"
for x in `eval echo {0..$max}`
do
printf "number: $x\n"
done
输出:
Print Numbers from 0 to 4
number: 0
number: 1
number: 2
number: 3
number: 4
在 Bash 中使用 seq
获取范围
seq
是一个 bash 命令,用于以增量步骤生成从 start
到 finish
的数字。
在我们的例子中,seq
以 1
为增量生成从 x
到 $max
的数字。for
循环遍历这些数字,并使用 printf
命令显示它们。
x=0
max=5
printf "Print numbers from $x to $max\n"
for x in $(seq $x $max)
do
printf "number: $x\n"
done
输出:
Print numbers from 0 to 5
number: 0
number: 1
number: 2
number: 3
number: 4
number: 5
Author: Fumbani Banda