Linux中Shell循环结构for用法笔记

举报
IT技术分享社区 发表于 2022/12/12 22:54:49 2022/12/12
【摘要】 Shell中可以使用for做固定次数循环的处理。常见的for循环用法主要有以下几种:

8.jpeg

Shell中可以使用for做固定次数循环的处理。常见的for循环用法主要有以下几种:

1、带列表的for循环

语法结构:

for item in (list)

do

command

done

示例:

cat demo1.sh 

内容如下:

#!/bin/bash

names="小明 小王 小张"

for item in names

do

echo "${item}"

done

执行命令:bash demo1.sh

输出结果:

小明

小王

小张

示例2 计算1到100的和

脚本1:

#!/bin/bash

sum=0

for item in {1..100}

do

let "sum+=item"

done

echo "总数为:${sum}"

脚本2:

#!/bin/bash

sum=0

for item in 'seq 1 100'

#for item in $(seq 1 100)

do

let "sum+=item"

done

echo "总数为:${sum}"

输出结果:5050

示例3循环打印当前目录的文件信息

#!/bin/bash

for item in $(ls)

do

ls -l $item

done

2、不带列表的for循环

for list

do

command

done

示例:

cat demo3.sh

#!/bin/bash

for item in $list

do

echo -n $item

done

执行:bash demo3.sh 10 20 30 40

输出结果:

10

20

30

40

3、类C语言的for循环

语法结构:

for ((exp1;exp2;exp3;))

do

command

done

用法示例:

#!/bin/bash

for ((num=1;num<=10;num++))

do

echo -n "$num "

done

计算1到100的和以及1到100的奇数和

脚本内容:

cat demo4.sh

#!/bin/bash

sum1=0

sum2=0

for((i=1,j=1;i<=100;i++,j+=2))

do

let "sum1+=i"

if [ $j -lt 100 ];then

let "sum2+=j" 

fi

done

echo "sum1=$sum1"

echo "sum2=$sum2"

执行:bash  demo4.sh

输出:

sum1=5050

sum2=2500

注意:有时候使用for循环脚本不注意很有可能出现死循环,它会无限执行下去,会消耗大量的系统资源,所以

关于循环的脚本要多加测试,避免出现死循环的情况,如果执行的时候出现死循环可以用ctrl+c停止脚本运行。


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。