Bash 中的證書迭代
Fumbani Banda
2023年1月30日
-
在 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
作者: Fumbani Banda