在Shell(如Bash)中,while
循环用于重复执行一段命令或代码块,只要给定的条件为真。以下是一个基本的while
循环的结构:
while [condition]
do
# commands to be executed repeatedly
command1
command2
...
done
或者,你也可以使用以下语法:
while condition
do
# commands to be executed repeatedly
command1
command2
...
done
其中:
condition
是一个返回0(真)或非0(假)的命令或表达式。在Shell中,0表示成功或真,非0表示失败或假。command1
,command2
, ... 是在每次循环迭代中执行的命令或代码块。
以下是一些示例:
- 循环直到用户输入"q"来退出:
while true
do
read -p "Enter something (type 'q' to quit): " input
if [ "$input" == "q" ]
then
break
fi
echo "You entered: $input"
done
- 计数到5:
i=1
while [ $i -le 5 ]
do
echo "Count: $i"
i=$((i+1))
done
- 使用
until
循环,这与while
相反,它会一直执行直到条件为真:
j=10
until [ $j -lt 0 ]
do
echo "Count down: $j"
j=$((j-1))
done
要退出while
循环,可以使用break
命令。如果想要跳过当前循环迭代的剩余部分并继续下一次迭代,可以使用continue
命令。