Linux管理员 - 循环



像所有其他编程语言一样,BASH也使用通用的循环结构——for、while和until。

for循环

for循环用于重复执行其他shell指令。for循环在BASH中被分类为迭代语句。

#!/bin/bash 
myFile = "myLines.txt"

for i in `cat $myFile` 
   do 
   echo $i 
done

上面的for循环迭代遍历“myLines.txt”的内容,并将每一行回显到终端。

注意 - 当命令用反引号(shift+tilde)括起来时,命令的输出将被赋值给一个变量。

while循环

此循环将一直执行,直到满足某个条件。我们之前在重复回显和递增的shell例程中看到了这一点。

让我们用while循环读取一个文件 -

#!/bin/bash 
myFile = "myLines.txt"

while read -a FILELINE;  
   do 
   echo $FILELINE 
done < $myFile

同样,这个小脚本显示了我们文本文件的内容。

注意 - 脚本的第一行应始终包含shebang行。这只是BASH shell解释器的路径。通常位于CentOS上的/bin/bash

until循环

until循环在语法上类似于while循环。不同之处在于,until循环将一直执行,直到命令成功执行。

考虑到这一点,我们只需要否定我们的while脚本即可使用until执行。

#!/bin/bash 
myFile = "myLines.txt"

until ! read -a FILELINE;
do 
   echo $FILELINE 
done < $myFile 
linux_admin_shell_scripting.htm
广告