欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

Shell脚本while、until循环语句简明教程

程序员文章站 2023-11-18 15:49:52
一、while循环 while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为: 复制代码 代码如下: while 命令 do...

一、while循环

while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:

复制代码 代码如下:

while 命令
do
    command1
    command2
    ...
    commandn
done

命令执行完毕,控制返回循环顶部,从头开始直至测试条件为假。

以下是一个基本的while循环,测试条件是:如果counter小于5,那么条件返回真。counter从0开始,每次循环处理时,counter加1。运行上述脚本,返回数字1到5,然后终止。

复制代码 代码如下:

counter=0
while [ $counter -lt 5 ]
do
    counter='expr $counter+1'
    echo $counter
done

运行脚本,输出:
1
2
3
4
5

while循环可用于读取键盘信息。下面的例子中,输入信息被设置为变量film,按<ctrl-d>结束循环。

复制代码 代码如下:

echo 'type <ctrl-d> to terminate'
echo -n 'enter your most liked film: ''
while read film
do
    echo "yeah! great film the $film"
done

运行脚本,输出类似下面:
type <ctrl-d> to terminate
enter your most liked film: sound of music
yeah! great film the sound of music

二、until循环

until循环执行一系列命令直至条件为真时停止。until循环与while循环在处理方式上刚好相反。一般while循环优于until循环,但在某些时候—也只是极少数情况下,until循环更加有用。

until循环格式为:

复制代码 代码如下:
until 条件
    command1
    command2
    ...
    commandn
done

条件可为任意测试条件,测试发生在循环末尾,因此循环至少执行一次—请注意这一点。