首页 > 系统相关 >Shell阶段05 循环语句for循环

Shell阶段05 循环语句for循环

时间:2024-05-29 14:47:37浏览次数:27  
标签:Shell 05 sh shell01 循环 done scripts vim root

循环语句之for循环

for 变量 in 取值列表
do
    循环体
done

但条件为真,则执行循环体,如果条件为假,则结束循环。

#取值列表,很多种取值方法,默认以空白字符为分隔符

[root@shell01 scripts]# vim for-1.sh
#!/bin/bash
for i in file1 file2 file3
do
    echo "$i"
done

[root@shell01 scripts]# sh for-1.sh 
file1
file2
file3

#取值列表出现空格,要用引号。特殊字符要用转义字符
[root@shell01 scripts]# vim for-2.sh
#!/bin/bash
for i in 'file1 test' \( file2 file3    #file1 test是一个字符串,用单引号/双引号包起来。\转义
do
    echo "$i"
done

#根据变量进行取值
[root@shell01 scripts]# vim for-3.sh
#!/bin/bash
List="file1 file2 file3"
for i in $List
do
    echo "$i"
done

#通过命令取值
[root@shell01 scripts]# vim for-4.sh
#!/bin/bash
for i in $(cat /etc/hosts)
do
    echo "$i"
done

#自定义分隔符
IFS=:        #以冒号为分隔符

[root@shell01 scripts]# vim for-5.sh
#!/bin/bash
IFS=:
for i in $(cat /etc/passwd | head -1)
do
    echo "$i"
done

#指定多个分隔符
IFS=':;/'    #这里有特殊字符,要用引号引起来

[root@shell01 scripts]# vim for-6.sh
#!/bin/bash
IFS=':;/'    #这里有特殊字符,要用引号引起来
for i in $(cat test.txt)
do
    echo $i
done

#以换行符作为分隔符
IFS=$'\n'
[root@shell01 scripts]# vim for-7.sh
#!/bin/bash
IFS=$'\n'
for i in $(cat /etc/hosts)
do
    echo $i
done

#C语言风格的for (了解)
[root@shell01 scripts]# vim for-8.sh
#!/bin/bash
for i in {1..10}
do
    echo $i
done

[root@shell01 scripts]# vim for-8.sh
#!/bin/bash
for ((i=0;i<10;i++))    #C语言格式,用双括号
do
    echo $i
done

#定义多个变量,输入1-9的升序和降序
#C语言风格
for ((a=1,b=9;a<10;a++,b--))
do
    echo $a $b
done
#正常怎么写
a=0
b=10
for i in {1..9}
do
    let a++
    let b--
    echo $a $b
done

 

标签:Shell,05,sh,shell01,循环,done,scripts,vim,root
From: https://www.cnblogs.com/ludingchao/p/18220242

相关文章

  • Go--生成excel表格,循环赋值并避免重复项
    先下载第三方依赖包:goget-ugithub.com/xuri/excelize/v2 假设原数据格式为:typeDatastruct{PsastringGroupstringOperatorstring} 将数据插入新生成的execl表格中,并且当group值相同时,只更新该group的operator值,即最终数据中,group没有......
  • 小抄 20240529
    1看多了暴富神话,很多人已经没有缓慢前行的耐心,只想少年成名、一飞冲天、先享受世界,指望有个金手指、好项目、好大哥,就能帮自己一夜改命。不把这种想法从脑子里移除掉,迟早会落入骗子的圈套,钱没赚着,信用卡、花呗、借贷软件全被刷爆,余生活在悔恨和抱怨里。2你和一个人关系的......
  • 人工智能在乳腺癌领域的最新进展|【医学AI·文献速递·05-29】
    小罗碎碎念2024-05-29|文献速递今天分享的文章,主题是AI+乳腺癌。第三篇文章,个人觉得是今天最有借鉴价值的——临床故事接地气,工科算法赶潮流。这篇文章主要做的事情是利用多模态多组学,去区分乳腺腺病和乳腺癌,因为频繁的做检查,会给患者带来沉重的心理负担。另外,等待结果......
  • P10528 [XJTUPC2024] 崩坏:星穹铁道 题解
    头图无语了,猜猜WA哪了不要真头图崩坏:星穹铁道题链这么简单做不对不许玩崩铁!题目大意给你行动的总次数\(n\)和初始战技点数量\(k\),以及编队里四名角色的行动类型,求不同行动方式的方案数。类型如下:思路先考虑dp,分角色类型讨论。设\(f_{i,k}\)表示第\(i......
  • 【Java】流程控制(条件语句、循环语句、分支语句和异常处理)
    1、简介流程控制是编程中非常重要的一部分,它决定了程序执行的顺序和逻辑。在Java中,有几种主要的流程控制结构,包括条件语句、循环语句、分支语句和异常处理。2、条件语句2.1简介条件语句用于根据某个条件是否成立来决定执行哪段代码。Java中最常用的条件语句是if语句,if-els......
  • 开发工具系列---【解决XShell上传文件乱码导致压缩时丢文件】
    1.问题描述上线的时候,我们把需要上线的文档放到linux上的一个目录下,然后使用`tar-zcvfbao.tar.gzbao`命令压缩,传到生产的时候发现同事的excel,doc老丢,以为忘传导致的。结果上完线下来一看,上传的bao目录下有。2.解决方案经过分析,我们一致觉得是编码格式导致的,他用的是xshell......
  • 【2024-05-28】连岳摘抄
    23:59有两种价值观,一种是戴着非常昂贵的手表,好显示出自己身价百倍;另一种是一块不贵的手表,因为我戴过,所以身价百倍。                                ——韦慧晓你爸爸一生并不失败。你也是成功的。可是你......
  • 0528-今天的关键词是淡然
    人生就是用来玩和体验的婚姻上学失败迷茫也都是体验而已体验的意义就是不断的去增长我们的智慧这一切的人事物其实都不是你的而是让你拿着用的万物不为我所有但万物皆为我所用所有的东西我们只有使用权但没有绝对的拥有权包括我们的生命也只是阶段性的被我们使用而已最......
  • Python中的循环引用和垃圾回收
    引言在现代软件开发中,内存管理是保证程序性能和稳定性的关键因素之一。垃圾回收(GarbageCollection,GC)作为一种自动内存管理机制,它能够自动释放不再使用的内存资源,从而避免内存泄漏和程序崩溃。Python作为一种高级编程语言,其内置的垃圾回收机制对于开发者来说是一个强大的工具,但......
  • css05 CSS Pseudo-classes
    https://www.w3schools.com/css/css_pseudo_classes.asp WhatarePseudo-classes?Apseudo-classisusedtodefineaspecialstateofanelement.Forexample,itcanbeusedto:StyleanelementwhenausermousesoveritStylevisitedandunvisitedlinks......