shell脚本之for循环语句_shell脚本if判断

shell脚本之for循环语句_shell脚本if判断循环有:for、while、until什么是for循环呢?for循环逻辑:就是将循环列表中的元素赋值给变量,每次赋值便执行一次循环,done就标志着一个循环的结束。直到列表中的元素消耗殆尽,结束整个循环(也可以这么理解,因为某件事,你把你对象惹生气了,你是不是得道歉,道歉一次没用,是不是要第二遍,这是一个循环直到你对象原谅你这个循环才结束.也可以这么理解)for变量in值1值2值3do相当于大括号的上上半部分echo语句程序done相当于大括号的下半部分

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

shell脚本之for循环

循环有:for、while、until

什么是for循环呢?

for循环逻辑 :就是将循环列表中的元素赋值给变量,每次赋值便执行一次循环,done就标志着一个循环的结束。直到列表中的元素消耗殆尽,结束整个循环(也可以这么理解 ,因为某件事 ,你把你对象惹生气了,你是不是得道歉 ,道歉一次没用,是不是要第二遍 ,这是一个循环 直到你对象原谅你 这个循环才结束.也可以这么理解)

格式 :

for 变量 in 值1 值2 值3

do 相当于大括号的上上半部分

echo 语句程序

done 相当于大括号的下半部分

把每个值都带入你的变量里面按个进入 然后输出等待集合

!在这里插入图片描述

应用实例 :1

第一种格式 $* 把所有的参数看成一个整体

第二种格式 $@ 表示把每个参数分区对待

在 数量大的时候可以看出来 ∗ 和 * 和 @的区别是什么

案例实验 :

$* 输出的是一个整体

vim textfor.sh

注释一下环境 #!/bin/bash

for i in “ ∗ ∗ ” 这 个 是 什 么 意 思 : 是 把 **” 这个是什么意思 :是把 :* * 赋给i 这个变量 把&*这个值交给i然后把他输出echo的东西 如果是一次 就输出一次 如果是分开的 那就是 多次对应的输出

do

echo “the num is $i”

done

chmod 744 或者+x textfor.sh 给一个执行权限

./textfor.sh 执行

$@ 分开输出

vim textfor.sh

注释一下环境 #!/bin/bash

for i in “$@”

do

echo”the num is $i”

done

chmod 744 或者+x textfor.sh 给一个执行权限

./textfor.sh 10 20 30 执行

分开处理的 要注意一下 ∗ 和 *和 @的区别是什么

$* 整体处理

$@ 分开处理

就比如 把10 20 30 的值的和求出来个数不知道 就要用$@比较便利

第二种基本语法

for(初始值;循环控制条件 ;变量变化)

do

程序

done

案例 从1加到100的值输出显示 1一直加到100

vim testfor2.sh 创建一个for的脚本

!/bin/bash

sum=0的时候 sum是和的意思

for((i=1;i<=100;i++)) 括号里是什么意思 i等于1 ;i<=100 意思是当i大于等于100时 ;i++ 的意思是 i++是使用i之后再加一
do
SUM= [ [ [SUM+$i] 括号里是一个累计 括号里的sum和i累计过后再给前面的sum再输出最后的结果 注意这边用的是中括号【】

done
echo “SUM=$SUM” 输出最后姐结果

~

chmod 744 或者+x textfor.sh 给一个执行权限

./testfor2.sh

2.3乘法表
利用for循环,打印99乘法表
#!/bin/bash
for ((i=1;i<=9;i++)) #此处也可以写 for i in {1…9}
do
for ((j=1;j<=i;j++)) #此处也可写 for j in seq $i
do echo -n -e “ j ∗ j* ji=$[j*i]\t” #-n不换行输出;-e使用\转义符;\t横向制表;若不用-e,则\t为普通字符
done
echo
done

三.总结
1.for循环在实际生成中应用非常多,避免人工重复的去操作某个事情
2.for循环中的列表支持正则表达式
3.for循环中使用(()),双括号内支持C语言的命令
4.for循环中的变量,只是循环去取值列表中取值,然后进行do操作,所以取值列表中的参数个数,决定了循环的次数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234609.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 太原java技术培训_面试官说java基础不行

    太原java技术培训_面试官说java基础不行二、六大性能调优技术(JVM调优+网络调优+数据库调优+LINUX内核调优+中间件底层探索+容器环境调优)手绘板(脑图)1、JVM调优JVM调优必备理论知识-GcCOLLECTOR-三色标记垃圾回收算法串讲JVM常见参数总结JVM调优实战JVM(HotSpot)核心源码解读JVM核心模块(GC算法)手写实战2、网络调优TCP内核参数JAVAAPI参数IO模型TRADEOFF资源隔离优化网卡、CPU配置调优网络安全的加密算法与数字签名3、数据库调优Mysql性能监

  • Tsai分享:资源分享(1)——视觉SLAM十四讲及视频[通俗易懂]

    Tsai分享:资源分享(1)——视觉SLAM十四讲及视频[通俗易懂]Tsai分享:资源分享(1)——视觉SLAM十四讲及视频一、视觉SLAM十四讲如若转载请附上链接:https://blog.csdn.net/weixin_43338642/article/details/88287121链接:https://pan.baidu.com/s/1m6AQNz2ujCFVoJUtMe9TBg提取码:91e0二、SLAM视频教程链接…

    2022年10月24日
  • [行为识别论文详解]TSN(Temporal Segment Networks)[通俗易懂]

    [行为识别论文详解]TSN(Temporal Segment Networks)[通俗易懂]摘要本文旨在设计有效的卷积网络体系结构用于视频中的动作识别,并在有限的训练样本下进行模型学习。TSN基于two-stream方法构建。论文主要贡献:提出了TSN(TemporalSegmentNetworks),基于长范围时间结构(long-rangetemporalstructure)建模,结合了稀疏时间采样策略(sparsetemporalsamplingstrat…

  • android activity自动跳转,Android activity跳转之finish()方法的作用

    android activity自动跳转,Android activity跳转之finish()方法的作用最近在看郭神的《第一行代码(第2版)》,温故知新,看到有很多地方在页面跳转后还加了一句:finish();,原来像下面代码这样用Intent从Aactivity跳到Bactivity:Intentintent=newIntent(A.this,B.class);startActivity(intent);当成功跳到Bactivity的时候再点击返回键,就再次返回到了…

  • 倍增Floyd「建议收藏」

    倍增Floyd有这样的一道题:给定一张图,求其中恰好经过mm条边的路径的长度最小值。(n<=200,m<=109)(n<=200,m<=10^9)对于这种题型,可以使用倍增Floyd求解。由于Floyd算法的奇特性质:每次加入一个点进行更新。如果我们把它改写为:for(inti=0;i<=n;i++)for(intj=0;j<=n;j++)for(intk=

  • Faster-RCNN算法精读[通俗易懂]

    Faster-RCNN算法精读[通俗易懂]读论文:《FasterR-CNN:TowardsReal-TimeObjectDetectionwithRegionProposalNetworks》摘要:算法主要解决两个问题:1、提出区域建议网络RPN,快速生成候选区域;2、通过交替训练,使RPN和Fast-RCNN网络共享参数。一、RPN网络结构RPN网络的作用是输入一张图像,输出一批矩形候选区域

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号