Bash 中的證書迭代

Fumbani Banda 2023年1月30日 2022年5月14日
  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 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