Bash 中的证书迭代
Fumbani Banda
2023年1月30日
Bash
Bash Range
Bash Loop
-
在 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
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Fumbani Banda
