iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >浅谈shell的一些循环格式
  • 542
分享到

浅谈shell的一些循环格式

shell循环格式shell循环 2022-06-04 23:06:47 542人浏览 薄情痞子
摘要

1.while 的格式 x=1 while ((x<=10)) ;do if [ $x == "2" -o $x == "4" ];then #条件x=2或者x=4执行下面语句 x=$[$x+1]

1.while 的格式


x=1
while ((x<=10)) ;do
 if [ $x == "2" -o $x == "4" ];then
  #条件x=2或者x=4执行下面语句
  x=$[$x+1]
  continue
   #跳过本次循环
 fi
echo "$x"
 if [ $x == "8" ];then
  break
   #终止循环
 fi
x=$[$x+1]
done
#最后输出结果为135678

2.for 循环


for i in `seq 10` ;do
echo "$i"
done
#输出为1-10个数,for 循环不是靠判断来循环的是靠列表循环的,seq 10 这个函数能列出1-10的数值,这些数值就是for循环的列表
for i in `ls` ;do
echo "$i"
done
#这个程序最后输出为该文件夹的所有目录及文件夹

3数组


sz=(00 11 22 33 44 55)
echo "${sz[*]}"
#输出所有数值,"@"和"*"效果一样
echo "${#sz[*]}"
#输出数值个数
echo "${sz[1]}"
#显示指标1的数值,注意默认指标从0开始计算
x=10
sz[$10]=233
echo "${sz[$10]}"
#变量的使用,显示第10指标个数值

declare -A sz
#定义关联数组,使用非数字格式的必须预先定义下
sz[yi]="111"
sz[er]="222"
echo "${sz[*]}"
echo "${sz[er]}"
显示结果 111 222
        222

4.函数调用


 hansu(){
  #定义函数
echo "第$1次,函数显示"
}
hansu 1
#调用函数并传递参数,函数内部用$1 $2使用变量,和shell用法一样
hansu 2
hansu 3
最后显示效果;
第1次,函数显示
第2次,函数显示
第3次,函数显示

5.if的使用


if [ "a" == "a" ];then
 echo "条件满足"
else
 echo "条件不满足"
fi
#正常使用,满足条件执行第一个语句
if [ !"a" == "a" ];then
 echo "条件满足"
else
 echo "条件不满足"
fi
#加个"!"号,取反值,满足条件,就变成了不满足了

检测文件


if [ -e /root/123.txt ];then
 echo "文件存在"
else
 echo "文件不存在"
jjhMQyIfi
-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新 [ "/data/file1" -nt "/data/file2" ]
-ot 判断file1是否比file2旧 [ "/data/file1" -ot "/data/file2" ]

字符运算


=:   检测两个字符是否相等,相等返回真
!=  检测两个字符是否不等,不等返回真
-z   检测字符串长度是否为0,为0返回真,全是空格返回真 
$    检测字符是否为空,有值时时候返回真,全是空格返回假

数值比较


x=10
y=5
if [ $x -gt $y ];then
#注意表达式还能这样写  if (( $x > $y ));then  效果也是一样的而且更方便于记忆
 echo "真"
else
 echo "假"
fi
#结果返回真

-gt是左边大于右边,返回真 同 >
-lt是小于  同 <
-eq是等于 同 = 
-ne是不等于 同!=
-ge是大于等于 同>=
-le是小于等于  同<=

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

--结束END--

本文标题: 浅谈shell的一些循环格式

本文链接: https://www.lsjlt.com/news/20737.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • shell中有哪些循环格式
    shell中有哪些循环格式?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.while 的格式x=1while ((x<=10)) ;...
    99+
    2023-06-09
  • 浅谈Spring解决循环依赖的三种方式
    引言:循环依赖就是N个类中循环嵌套引用,如果在日常开发中我们用new 对象的方式发生这种循环依赖的话程序会在运行时一直循环调用,直至内存溢出报错。下面说一下Spring是如果解决循环依赖的。第一种:构造器参数循环依赖表示通过构造器注入构成的...
    99+
    2023-05-30
    spring 循环 依赖
  • 浅谈Java8 的foreach跳出循环break/return
    java8中跳出循环不能使用break? 通过测试发现: 对于java8中的特殊写法lamada表达式中,不能使用break,会提示错误; java8中使用return,会跳出当前循...
    99+
    2024-04-02
  • 浅谈Python的格式化输出
    python的输出 python输出中的print()函数,直接引用即可,它的完整格式为: #最后面还有文件操作的,我们主要学习输出相关,所以暂不加入 print(object,...
    99+
    2024-04-02
  • 浅谈Qt信号槽与事件循环的关系
    目录一、信号槽二、事件循环三、关系1. 基本写法2. 加入额外的线程四、总结五、另外一些问题关于信号槽与事件循环,相关的文章非常多了,本文不做过多介绍。本文主要是通过简单的几个例子,...
    99+
    2022-11-13
    Qt信号槽与事件循环 Qt信号槽 Qt 事件循环
  • 浅谈PHP7中的一些小技巧
    目录相同的命名空间,相同的 use常量可以是数组太空船操作符数组的第一 / 最后一个键 (PHP 7.3)数组延展操作符 (PHP 7.4)箭头函数 (PHP 7.4)常量的可见性 ...
    99+
    2024-04-02
  • 浅谈Vue+AntDesignform表单的一些坑
    目录设置默认值的坑自定义 v-decorator 组件的坑最近在用 vue + ant 写项目发现 from 组件的坑还是比较多的 设置默认值的坑 控制台报 Warning: You...
    99+
    2024-04-02
  • 浅谈Android Studio 3.0 的一些小变化
    前言一大早还在北京拥挤的地铁里,我的CTO闫哥在微信里给我发了一条信息:Android Studio 3.0发布了。为什么会这么关注Android Studio 3.0 的版本发布呢?主要是因为公司即将开发的新app准备使用Kotlin语言...
    99+
    2023-05-30
    android studio 3.0
  • 浅谈一下Java的双亲委派模式
    目录类加载器是什么?类加载器分类双亲委派模型工作流程双亲委派模型好处说起双亲委派模型,不得不说一下类加载器。 类加载器是什么? 当我们编译Java类时,JVM会创建与平台和机器无关的...
    99+
    2023-05-18
    java 模型 java双亲委派
  • Python3中while循环的格式是什么
    这篇“Python3中while循环的格式是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这...
    99+
    2024-04-02
  • 浅谈一下Java中集合的迭代方式
    目录集合的迭代传统的迭代方法Stream 和 Lambda 进行集合迭代流和集合方式一:推荐使用,采用函数式编程(链式编程):方式二:不推荐使用,采用函数式编程(不使用链式编程):方...
    99+
    2023-05-14
    Java集合 Java集合迭代方式
  • 浅谈ASP.NETCore统一处理404错误都有哪些方式
    目录方式一方式二 自定义通配路由方式三方式四方式五 web.config <customErrors> 节点中配置ASP.NET管道处理40...
    99+
    2024-04-02
  • 浅谈对Python变量的一些认识理解
    一、Python变量 在大多数语言中,为一个值起一个名字时,把这种行为称为“给变量赋值”或“把值存储在变量中”。不过,Python与许多其它计算机语言的有所不同,它并不是把值存储在变...
    99+
    2024-04-02
  • 浅谈HBuilderX开发小程序的一些问题
    第一步:你要有一个微信小程序,在微信开发者平台上 至于怎样申请微信开发者appid和微信开发者平台上面的东西可以自己去百度下,重点讲的是在HBuilderX开发小程序 第二步:在你...
    99+
    2024-04-02
  • Freemarker中的循环模式有哪些
    本篇内容介绍了“Freemarker中的循环模式有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Freemarker 3种循环模式1. ...
    99+
    2023-07-05
  • 有哪些Shell脚本之无限循环的方法
    本篇内容主要讲解“有哪些Shell脚本之无限循环的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“有哪些Shell脚本之无限循环的方法”吧!for 实现:代码如下:#!/bin/bashset...
    99+
    2023-06-09
  • 浅谈Java生成唯一标识码的三种方式
    目录前言正文UUID实现唯一标识码SnowFlake实现唯一标识码通过时间工具生成带有业务标示的唯一标识码前言 我们经常会遇到这样的场景,需要生成一个唯一的序列号来表明某一个数据的唯...
    99+
    2024-04-02
  • java中for循环的方式有哪些
    Java中for循环的方式有以下几种:1. 基本for循环:在已知循环次数的情况下使用,适用于遍历数组或集合等固定大小的数据结构。`...
    99+
    2023-10-07
    java
  • java循环嵌套的方式有哪些
    在Java中,循环嵌套的方式有以下几种: 嵌套for循环:在一个for循环内部嵌套另一个for循环。 for(int i = 0...
    99+
    2024-04-02
  • Python中快的循环方式有哪些
    这篇文章主要介绍“Python中快的循环方式有哪些”,在日常操作中,相信很多人在Python中快的循环方式有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python中快的循环方式有哪些”的疑惑有所帮助!...
    99+
    2023-07-06
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作