📜  Shell 脚本 - 选择循环(1)

📅  最后修改于: 2023-12-03 14:47:26.458000             🧑  作者: Mango

Shell 脚本 - 选择循环

在编写 Shell 脚本时,选择循环(也称为条件循环)是一种重要的结构,用于根据条件重复执行一段代码。Shell 脚本通常使用 if 语句来实现选择循环。本文将介绍 Shell 脚本中的选择循环以及如何在脚本中使用它们。

1. if 语句

if 语句是 Shell 脚本中常用的条件语句,用于根据条件决定执行哪些代码。if 语句的语法如下:

if [ 条件表达式 ]; then
    # 如果条件表达式为真,则执行这里的代码
else
    # 如果条件表达式为假,则执行这里的代码
fi

if 语句根据条件表达式的结果来决定执行哪一部分代码。如果条件表达式为真,则执行 then 代码块中的内容;如果条件表达式为假,则执行 else 代码块中的内容。

以下是一个使用 if 语句的示例:

#!/bin/bash

num=10

if [ $num -gt 5 ]; then
    echo "Number is greater than 5."
else
    echo "Number is less than or equal to 5."
fi

上述示例中,如果变量 num 的值大于 5,则输出 "Number is greater than 5.",否则输出 "Number is less than or equal to 5."。

2. while 循环

while 循环是一种常用的选择循环,它根据条件重复执行一段代码,直到条件不再满足为止。while 循环的语法如下:

while [ 条件表达式 ]; do
    # 循环体代码
done

while 循环会在每次迭代开始前检查条件表达式,并根据结果来决定是否执行循环体中的代码。只要条件表达式为真,就会一直执行循环体内的代码。

以下是一个使用 while 循环的示例,计算数字 15 的和:

#!/bin/bash

sum=0
num=1

while [ $num -le 5 ]; do
    sum=$((sum + num))
    num=$((num + 1))
done

echo "Sum: $sum"

上述示例中,while 循环会不断累加 num 的值到 sum 中,直到 num 的值大于 5

3. until 循环

until 循环是另一种常用的选择循环,与 while 循环相反。until 循环会在条件表达式为假时重复执行一段代码。until 循环的语法如下:

until [ 条件表达式 ]; do
    # 循环体代码
done

until 循环会在每次迭代开始前检查条件表达式,并根据结果来决定是否执行循环体中的代码。只要条件表达式为假,就会一直执行循环体内的代码。

以下是一个使用 until 循环的示例,输出数字 91

#!/bin/bash

num=9

until [ $num -lt 1 ]; do
    echo $num
    num=$((num - 1))
done

上述示例中,until 循环会从 9 开始递减,直到 1

4. for 循环

for 循环是一种常用的选择循环,用于迭代处理列表或范围内的值。for 循环的语法如下:

for 变量 in 列表; do
    # 循环体代码
done

for 循环会遍历列表中的每个元素,并将其赋值给变量。然后执行循环体中的代码。对于每个元素,循环体都会执行一次。

以下是一个使用 for 循环的示例,遍历数组中的元素:

#!/bin/bash

fruits=("apple" "banana" "orange")

for fruit in "${fruits[@]}"; do
    echo "I like $fruit"
done

上述示例中,for 循环会依次将数组 fruits 中的元素赋值给变量 fruit,然后输出 "I like <fruit>"。

结论

选择循环是 Shell 脚本中常用的结构,可用于根据条件重复执行一段代码。本文介绍了 Shell 脚本中的选择循环,并提供了示例代码。根据实际需求,选择合适的循环结构可以使 Shell 脚本更加灵活和高效。