Linux脚本中循环语句的应用探究 (linux脚本循环语句)

随着Linux在企业中的应用越来越广泛,Linux脚本编程也成为了许多管理员不可或缺的技能之一。其中,循环语句作为一种基本语法,掌握它的用法能提高脚本编写的效率和灵活性。在本文中,我们将介绍Linux脚本中四种循环语句的用法,包括for、while、until和select。

一、for循环

for循环通常用于循环处理某个范围之内的对象,例如文件列表或者数字序列。for循环的基本语法如下:

“`

for 变量 in 列表

do

command1

command2

commandN

done

“`

其中,`变量`表示循环变量,`列表`表示需要循环的对象列表。循环体内的`command1`~`commandN`表示循环处理每个对象时需要执行的命令。

例如,我们要列出当前工作目录下的所有文件:

“`

for filename in *

do

echo $filename

done

“`

在这个例子中,变量`filename`依次取到当前目录下的每个文件名,并将其输出到屏幕上。

二、while循环

while循环用于在条件满足的情况下一直执行循环体中的命令。它的基本语法如下:

“`

while [ 条件 ]

do

command1

command2

commandN

done

“`

其中,条件用于指定循环的终止条件。只有当条件为真时,循环体内的命令才会被执行。

例如,我们要从标准输入读取输入内容,并一直输出到屏幕上,直到输入`quit`为止:

“`

while true

do

read input

if [ “$input” = “quit” ]

then

break

fi

echo $input

done

“`

在这个例子中,`while true`表示一直循环直到条件不满足。每次循环体内先从标准输入读取输入内容,然后判断输入是否为`quit`,如果是则跳出循环。

三、until循环

until循环与while循环类似,不同之处在于循环体内的命令只有在条件不满足的情况下才被执行。它的基本语法如下:

“`

until [ 条件 ]

do

command1

command2

commandN

done

“`

通常,until循环用于等待某个事件发生,并在事件发生之后执行相应的处理。

例如,我们要等待某个文件出现,并在文件出现后执行某个命令:

“`

until [ -f /tmp/file.txt ]

do

sleep 1

done

echo “File has been created.”

“`

在这个例子中,`until [ -f /tmp/file.txt ]`表示循环等待文件`/tmp/file.txt`出现。当文件出现后,循环终止,并输出一条消息。

四、select循环

select循环用于创建交互式菜单,让用户选择某个选项来执行相应的操作。它的基本语法如下:

“`

select 变量 in 列表

do

command1

command2

commandN

done

“`

其中,列表用于指定菜单中的选项。用户可以用数字键来选择一个选项,选项对应的变量将被赋值给`变量`,并且循环体内的命令被执行。

例如,我们要创建一个简单的交互式菜单,让用户选择部署某个应用:

“`

echo “Which application do you want to deploy?”

select app in “Web” “Database” “Ml”

do

case $app in

“Web”)

echo “Deploying Web application.”

;;

“Database”)

echo “Deploying Database application.”

;;

“Ml”)

echo “Deploying Ml application.”

;;

*)

echo “Invalid option. Please try agn.”

;;

esac

break

done

“`

在这个例子中,用户可以选择`Web`、`Database`或者`Ml`三个选项中的任意一个。选择后,将执行相应的部署命令。

Linux脚本中的循环语句为脚本编程提供了强大的控制结构。无论是处理文件列表,还是等待某个事件发生,或者创建交互式菜单,循环语句都能帮助我们实现更高效和灵活的脚本编写。在掌握了以上四种循环语句的用法后,相信大家已经可以编写出自己的循环脚本了。

相关问题拓展阅读:

linux编写一个脚本,利用循环和continue关键字,输出100以内能被6整除的数?

建议你这样试试看:

新建division6.sh文件

粘贴1-12行代码

在terminal中输入bash division6.sh运行代码

这样做的好处:

注意事项:

1. set -x会输出每一句的执行结果

2. set -e会输出错误提示并中断,如果代码有错的话  

\\\division6.sh文件内容

1 #!/usr/bin/env bash

  2 #set -x

  3 set -e

  4 for i in {1..100}

  5 do

# method      毁局轮  

if ; then

# method 2

#if ; then

echo $i “% 6 =” $(expr \( $i % 6 \) != 0) 

fi

 12 done

\\\

运行结果截纤信图:

在腊腊终端输入bash division6.sh运行后

将以下代码放到test.sh文件纯渗中,并给文件加上可执行权限:

#/bin/sh

for i in {1..100}; do

    if ; then

echo $i

 枯让   fi

done

结果:

如果非得使用没裤局continue的话,代码改为:

#/bin/sh

for i in {1..100}; do

    if ; then

continue

    fi

    echo $i

关于linux脚本循环语句的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » Linux脚本中循环语句的应用探究 (linux脚本循环语句)