Shell脚本 ——until 循环
基本介绍: 在Shell脚本中,until 循环是一种控制结构,它会重复执行一组命令,直到指定的条件为真为止。与 while 循环相反,until 循环在条件为假时继续执行,当条件变为真时终止循环。
基本格式:
用法1: 使用 [ ] 进行条件判断
until [ condition ]; do
# Commands to be executed
done
示例:
#!/bin/bash
count=1
until [ $count -gt 5 ]; do
echo "Count: $count"
((count++))
done
输出:
Count: 1
Count: 2
Count: 3
Count: 4
Count: 5
用法2: 使用 (( )) 进行条件判断
until (( condition )); do
# Commands to be executed
done
示例:
#!/bin/bash
count=1
until (( count > 5 )); do
echo "Count: $count"
((count++))
done
输出:
Count: 1
Count: 2
Count: 3
Count: 4
Count: 5
用法3: 无限循环,可以结合 until 循环和 break 实现复杂的控制流。
#!/bin/bash
count=1
until false; do
echo "Count: $count"
((count++))
if [ $count -gt 5 ]; then
break
fi
done
输出:
Count: 1
Count: 2
Count: 3
Count: 4
Count: 5
用法4: 等待特定的条件发生。使用 until 循环等待某个特定的条件变为真。例如,等待一个文件被创建。
#!/bin/bash
until [ -f /tmp/somefile ]; do
echo "Waiting for file to be created..."
sleep 2
done
echo "File created!"
示例Shell脚本: 以下是一个综合示例,展示了 until 循环的不同用法。
#!/bin/bash
# 基本格式
echo "Basic until loop:"
count=1
until [ $count -gt 5 ]; do
echo "Count: $count"
((count++))
done
# 使用 (( )) 进行条件判断
echo "Using (( )) for condition:"
count=1
until (( count > 5 )); do
echo "Count: $count"
((count++))
done
# 无限循环与 break 条件
echo "Infinite loop with break condition:"
count=1
until false; do
echo "Count: $count"
((count++))
if [ $count -gt 5 ]; then
break
fi
done
# 等待文件被创建
echo "Waiting for file creation:"
until [ -f /tmp/somefile ]; do
echo "Waiting for file to be created..."
sleep 2
done
echo "File created!"
注意点:
1、条件测试: 确保在 until 循环中使用正确的条件测试方法,例如 [ ] 或 (( ))。
2、空格和引号: 在条件表达式中,确保条件和命令之间有适当的空格。对于包含空格或特殊字符的变量,使用引号。
3、无限循环: 在使用 until 进行无限循环时,需要确保在适当的条件下退出循环,以避免进入死循环。
更多内容请参考 Shell 脚本专栏。
4240

被折叠的 条评论
为什么被折叠?



