Bash 中的证书迭代

Fumbani Banda 2023年1月30日
  1. 在 Bash 中使用 for 循环获取范围
  2. 在 Bash 中使用带有三个表达式的 for 循环来获取范围
  3. 在 Bash 中使用 while 循环获取范围
  4. 在 Bash 中使用 eval 获取范围
  5. 在 Bash 中使用 seq 获取范围
Bash 中的证书迭代

本教程演示了在 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 循环获取范围

这使用带有二进制比较运算符 -lewhile 循环,用于算术值比较。

在我们的例子中,只要 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 命令,用于以增量步骤生成从 startfinish 的数字。

在我们的例子中,seq1 为增量生成从 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
作者: Fumbani Banda
Fumbani Banda avatar Fumbani Banda avatar

Fumbani is a tech enthusiast. He enjoys writing on Linux and Python as well as contributing to open-source projects.

LinkedIn GitHub

相关文章 - Bash Loop