暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

linux 三种循环 while-for-until 简单说明

原创 不吃草的牛_Nick 2023-04-17
583


在现实的编程屮,可能希望根据某个条件多次执行一条命令。UNIX提供了几种循环结构,主要的循环结构有:
 while-do-done循环,它在某个条件为真时执行命令;
 for-do-done循环,它按指定的次数反复执行一条命令;
 until-do-done循环,它在条件为真之前执行同一个命令。

while-do-done循环
while-do-done循环在每次执行循环中的命令前要测试条件。如果测试成功则执行命令;如果测试不成功则一次都不执行。因此,这种循环保证循环内的命令“当”条件持续为真时得以执行。

下面是while-do-done循环的语法:
while condition
do
commands
done

在下面的while-do-done循环的例子中,循环内的命令执行99次(lt关系保证只要变量VAR1的值小于100,脚本将echo(回显)变最的值):
#!/usr/bin/ksh
VAR1=1
while [ $VAR1 -lt 100 ]
do
echo "value of VAR1 is: $VAR1"
((VAR1 = VAR1+l))
done

for-do-done 循环
如果必须处理多项列表,可使用for-do-done循环。对于列表中的毎一項,循环执行其中的命令。处理过程一直进行到列表元素耗尽为止。

for-do-done 循环的语法如下:
foi var in list
do
commands
done

下面是一个for-do-done循环的例子(for命令使用字符F作为处理目录中的文件列表的变量):
#!/usr/bin/sh
## this loop gives you a list of all files (not directories)
## in a specified directory.

for F in /u01/app/oracle
do
if [ -f $F ]
then
ls $F
fi
done

until-do-done 循环
until-do-done循环在条件为真之前执行循环内的命令。只要条件为假,循环就一直执行。

下面是until-do-done循环的一般语法:
until condition
do
commands
done

以下例子说明如何使用until-do-done循环。print命令在屏幕上显示输出双引号内的句子。-n选项说明输出内容应放在一新行上。UNIX命令read将读取用户输入信息并放入answer变量。然后,在用户输入“YES”之前此脚本将持续运行:
until [[ $answer = "yes" ]]
do
print -n "Please accept by entering \"YES\": "
read answer
print ""
done




「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论