点击此处浏览总目录

循环.md

目录

for循环

例1:

for i in list;
do
    <command...>
done;

for i in 1 2 3 4;
do
    echo $i
done

#结果:1
#      2
#      3
#      4

例2:

for((int i = 0; i < 10; i++))
{
    <command...>
}

例3:

#每次i保存一个字符,范围从a到z
#a..z可以替换位为数字范围,如for i in {1 .. 50};
for i in {a .. z}; 
do
    <command...>
done

while循环

例1:

while 条件
do
    <command...>
done

例2:
从文件中读取每一行\

while 条件
do
    <command...>
done < file.txt

例3:
使用子shell

cat  file.txt | ( while read line; do echo $line; done )

例4:
循环体内修改循环体外的变量

variable = 'old_value'
cat file | while read line
do
     do something
     variable = 'new_value'
done
echo $varable

#输出:old_value

variable = 'old_value'
while read line
do
     do something
     variable = 'new_value'
done < file.txt
echo $variable

#输出:new_value

通过管道"|"方式为while循环提供数据,实际上相当于新开启了一个线程,而各线程之间变量是互补干扰的
可以理解为管道"|"即调用了一个子shell,并将文件传过去,在该子shell中进行了while循环操作
通过"while 循环 < file"的方式,可以做到将

until循环

x=0;
until [ $x -eq 9 ];					
do  					
	let  x++; 				
	echo  $x;				
done				
posted @ 2022-07-09 15:59  立业的博客  阅读(35)  评论(0编辑  收藏  举报