📅  最后修改于: 2023-12-03 14:47:26.458000             🧑  作者: Mango
在编写 Shell 脚本时,选择循环(也称为条件循环)是一种重要的结构,用于根据条件重复执行一段代码。Shell 脚本通常使用 if
语句来实现选择循环。本文将介绍 Shell 脚本中的选择循环以及如何在脚本中使用它们。
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."。
while
循环是一种常用的选择循环,它根据条件重复执行一段代码,直到条件不再满足为止。while
循环的语法如下:
while [ 条件表达式 ]; do
# 循环体代码
done
while
循环会在每次迭代开始前检查条件表达式,并根据结果来决定是否执行循环体中的代码。只要条件表达式为真,就会一直执行循环体内的代码。
以下是一个使用 while
循环的示例,计算数字 1
到 5
的和:
#!/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
。
until
循环是另一种常用的选择循环,与 while
循环相反。until
循环会在条件表达式为假时重复执行一段代码。until
循环的语法如下:
until [ 条件表达式 ]; do
# 循环体代码
done
until
循环会在每次迭代开始前检查条件表达式,并根据结果来决定是否执行循环体中的代码。只要条件表达式为假,就会一直执行循环体内的代码。
以下是一个使用 until
循环的示例,输出数字 9
到 1
:
#!/bin/bash
num=9
until [ $num -lt 1 ]; do
echo $num
num=$((num - 1))
done
上述示例中,until
循环会从 9
开始递减,直到 1
。
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 脚本更加灵活和高效。