bash条件判断基础adsawq1`1nn

判断的作用

  • 判断后续操作的提前条件是否满足
  • 如果满足执行一种命令
  • 不满足则执行另一种指令

条件测试类型:

  • 整型测试
  • 字符测试
  • 文字测试

 整数测试:比较两个整数谁大谁小,是否相等;

    二元测试:

      num1 操作符 num2

      -eq: 等于

      -ne: 不等于

      -le:小于等于

      -ge:大于等于 

      -lt:小于

      -gt: 大于


字符测试:比较两个字符串是否相等;

    双目录

           >:          大于

           <:          小于

           ==:        等于,等值比较

           =~:        左侧是字符串,右侧是一个模式,判定左侧的字符串能否被右侧的模式所匹配;                             通常只[[ ]]中使用,模式中可以使用行首、行尾锚定符;但模式不要加引导

           !=, <>:     不等于

    单目录

           -n 字符串:  字符串是否不空,不空为真,空则为假

           -z 字符串:  字符串是否为空,空则为真,不空则假


 文件测试:测试某个文件是否具有读权限、写权限、执行权限等;

    单目测试:

      -e file :         测试文件是否存在

      -a file :         测试文件是否存在

      -f file :         测试是否为普通文件

      -d     :            测试是否为目录文件

      -b somefile :     测试文件是否存在并且是否为一个块设备文件

      -c somefile :     测试文件是否存在并且是否为一个字符设备文件

      -h|-L somefile :     测试文件是否存在并且是否为符号链接文件

      -p somefile :     测试文件是否存在并且是否为管道文件:

      -S somefile :     测试文件是否存在并且是否为套接字文件:

      -r somefile:      测试其有效用户是否对此文件有读取权限

      -w somefile:      测试其有效用户是否对此文件有写权限

      -x somefile:      测试其有效用户是否对此文件有执行权限

      -s somefile:      测试文件是否存在并且不空

     双目测试:

      file1 -nt file2 : 测试file1是否比file2

      file1 -ot file2 : 测试file1是否比file2

      file1 -ef file2 :  测试file1和file2是否引用同一个文件   


bash编程之:逻辑运算:

    与运算:

      真 && 真 = 真 

      真 && 假 = 假

      假 && 真 = 假

      假 && 假 = 假

    或运算:

      真 || 真 = 真 

      真 || 假 = 真

      假 || 真 = 真

      假 || 假 = 假

    非运算:

      !真 = 假

      !假 = 真


bash编程之:组合条件测试

    与:条件1 &&条件2

      条件1为假,则最终结果一定为假,否则,条件2不予执行

      条件1为真,则最终条件结果决于后面条件,因此,条件2必须执行

    或:条件1 ||条件2

      条件1为真,则最终结果一定为真,否则,条件2不予执行

      条件1为假,则最终条件结果决于后面条件,因此,条件2必须执行

    非: 

      与的优先级大于或,或的优先级大于非


bash编程之:条件测试方法

     test 表达式

     [ 测试表达式 ]

     [[ 测试表达式 ]]


bash编程之:if条件判断使用:

    单分支:

       if 条件; then

          分支1;

       fi

    双分支:

        if 条件; then

         分支1;

        else 

         分支2;

        fi

    多分支:

        if 条件; then

          分支1;

        elif 条件2; then 

          分支2;

        elif 条件3; then 

          分支3;

           ...

        else 

          分支n;

        fi


bash编程之:命令引用:

  1.引用命令的执行结果:使用`COMMAND`或$(COMMAND)

  2.引用命令执行是否成功的状态结果:一定是直接执行命令,此时需要执行结果重定向至/dev/null

bash编程之:脚本自动退出

  exit [n] 

        0表示成功(Zero - Success)

        非0表示失败(Non-Zero  - Failure)

        2表示用法不当(Incorrect Usage)

        127表示命令没有找到(Command Not Found)

        126表示不是可执行的


      用户和脚本进行交互:

        位置变量

        read命令

read -p "参数" 变量名

  位置参数轮替:

       #!/bin/bash

        echo "参数列表:$#"

        echo "参数列表:$@"

        echo""

        shift 2

       echo "参数列表:$#"

       echo "参数列表:$@"

        

       
       

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/370885.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Alt与Tab切换窗口时将Edge多个标签页作为一个整体参与切换的方法

本文介绍在Windows电脑中&#xff0c;使用Alt与Tab切换窗口时&#xff0c;将Edge浏览器作为一个整体参与切换&#xff0c;而不是其中若干个页面参与切换的方法。 最近&#xff0c;需要将主要使用的浏览器由原本的Chrome换为Edge&#xff1b;但是&#xff0c;在更换后发现&#…

基于RK3588的8路摄像头实时全景拼接

基于RK3588的8路摄像头实时全景拼接 输入&#xff1a;2路csi转8路mpi的ahd摄像头&#xff0c;分辨率1920 * 1080 8路拼接结果&#xff1a; 6路拼接结果&#xff1a; UI界面&#xff1a; UI节目设计原理

Lua、AB包热更新总结

1.AB包热更新 &#xff08;1&#xff09;AB包是一种特定的压缩文件&#xff0c;可以放模型贴图音效等等 &#xff08;2&#xff09;Resources目录下打包时只读 无法修改&#xff1b;而AB包存储的位置是自定义的&#xff0c;能够动态更新&#xff0c;同时可以决定资源包初始的大…

huggingface笔记:gpt2

0 使用的tips GPT-2是一个具有绝对位置嵌入的模型&#xff0c;因此通常建议在输入的右侧而不是左侧填充GPT-2是通过因果语言建模&#xff08;CLM&#xff09;目标进行训练的&#xff0c;因此在预测序列中的下一个标记方面非常强大 利用这一特性&#xff0c;GPT-2可以生成语法连…

人工智能时代打工人摸鱼秘籍(1)- 为啥说大模型像人?

人工智能以势不可挡的方式席卷全球。 所有公司&#xff0c;都在削尖脑袋想&#xff0c;如何在在产品、营销、运营、服务和管理上加持大人工智能的能力。 公司在卷生卷死的时候&#xff0c;有一批人已经偷偷在用大模型提&#xff08;摸&#xff09;效&#xff08;鱼&#xff09;…

昇思25天学习打卡营第1天|初识MindSpore

# 打卡 day1 目录 # 打卡 day1 初识MindSpore 昇思 MindSpore 是什么&#xff1f; 昇思 MindSpore 优势|特点 昇思 MindSpore 不足 官方生态学习地址 初识MindSpore 昇思 MindSpore 是什么&#xff1f; 昇思MindSpore 是全场景深度学习架构&#xff0c;为开发者提供了全…

KDP数据分析实战:从0到1完成数据实时采集处理到可视化

智领云自主研发的开源轻量级Kubernetes数据平台&#xff0c;即Kubernetes Data Platform (简称KDP)&#xff0c;能够为用户提供在Kubernetes上的一站式云原生数据集成与开发平台。在最新的v1.1.0版本中&#xff0c;用户可借助 KDP 平台上开箱即用的 Airflow、AirByte、Flink、K…

LLMs之gptpdf:gptpdf的简介、安装和使用方法、案例应用之详细攻略

LLMs之gptpdf&#xff1a;gptpdf的简介、安装和使用方法、案例应用之详细攻略 目录 gptpdf的简介 1、处理流程 第一步&#xff0c;使用 PyMuPDF 库&#xff0c;对 PDF 进行解析出所有非文本区域&#xff0c;并做好标记&#xff0c;比如: 第二步&#xff0c;使用视觉大模型&…

RUST 编程语言 绘制随机颜色图片 画圆形 画矩形 画直线

什么是Rust Rust是一种系统编程语言&#xff0c;旨在提供高性能和安全性。它是由Mozilla和其开发社区创建的开源语言&#xff0c;设计目标是在C的应用场景中提供一种现代、可靠和高效的选择。Rust的目标是成为一种通用编程语言&#xff0c;能够处理各种计算任务&#xff0c;包…

基于若依的文件上传、下载

基于若依实现文件上传、下载 文章目录 基于若依实现文件上传、下载1、前端实现-文件上传1.1 通用上传分析1.2 修改实现上传接口 2、后端实现-文件上传3、后端实现-文件下载4、前端实现-文件下载 官网其实也写了&#xff0c;但是我是自己改造封装了一下&#xff0c;再次迈向全栈…

3.js - 模板渲染 - 简单

3.js 真tm枯燥啊&#xff0c;狗都不学 效果图 源码 // ts-nocheck// 引入three.js import * as THREE from three// 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls// 导入lil.gui import { GUI } from three/examples/jsm/libs/li…

elementui中日期/时间的禁用处理,使用传值的方式

项目中,经常会用到 在一个学年或者一个学期或者某一个时间段需要做的某件事情,则我们需要在创建这个事件的时候,需要设置一定的时间周期,那这个时间周期就需要给一定的限制处理,避免用户的误操作,优化用户体验 如下:需求为,在选择学年后,学期的设置需要在学年中,且结束时间大…

使用京东云主机搭建幻兽帕鲁游戏联机服务器全流程,0基础教程

使用京东云服务器搭建幻兽帕鲁Palworld游戏联机服务器教程&#xff0c;非常简单&#xff0c;京东云推出幻兽帕鲁镜像系统&#xff0c;镜像直接选择幻兽帕鲁镜像即可一键自动部署&#xff0c;不需要手动操作&#xff0c;真正的新手0基础部署幻兽帕鲁&#xff0c;阿腾云整理基于京…

【LabVIEW学习篇 - 2】:LabVIEW的编程特点

文章目录 LabVIEW的编程特点图形编程天然并行运行基于数据流运行 LabVIEW的编程特点 图形编程 LabVIEW使用图形化的图形化编程语言&#xff08;G语言&#xff09;&#xff0c;用户通过在程序框图中拖放和连接各种节点&#xff08;Nodes&#xff09;来编写程序。每个节点代表一…

图像增强 目标检测 仿射变换 图像处理 扭曲图像

1.背景 在目标检测中&#xff0c;需要进行图像增强。这里的代码模拟了旋转、扭曲图像的功能&#xff0c;并且在扭曲的时候&#xff0c;能够同时把标注的结果也进行扭曲。 这里忽略了读取xml的过程&#xff0c;假设图像IMG存在对应的标注框&#xff0c;且坐标为左上、右下两个…

vue学习笔记(购物车小案例)

用一个简单的购物车demo来回顾一下其中需要注意的细节。 先看一下最终效果 功能&#xff1a; &#xff08;1&#xff09;全选按钮和下面的商品项的选中状态同步&#xff0c;当下面的商品全部选中时&#xff0c;全选勾选&#xff0c;反之&#xff0c;则不勾选。 &#xff08…

SpringBoot新手快速入门系列教程四:创建第一个SringBoot的API

首先我们用IDEA新建一个项目&#xff0c;请将这些关键位置按照我的设置设置一下 接下来我将要带着你一步一步创建一个Get请求和Post请求&#xff0c;通过客户端请求的参数&#xff0c;以json格式返回该参数{“message”:"Hello"} 1,先在IDE左上角把这里改为文件模式…

华为云OBS 通过S3客户端访问

华为云好像没有对S3协议的支持说明其实底层是支持S3协议的。 使用S3的时候我们会需要endpoint&#xff0c;桶名字&#xff0c;region&#xff0c;AWS_ACCESS_KEY,AWS_SECRET_KEY 其中endpoint 就是图片中的&#xff0c;桶名字也很容易找到&#xff0c;region 就是你的endpoint…

【开源项目】LocalSend 局域网文件传输工具

【开源项目】LocalSend 局域网文件传输工具 一个免费、开源、跨平台的局域网传输工具 LocalSend 简介 LocalSend 是一个免费的开源跨平台的应用程序&#xff0c;允许用户在不需要互联网连接的情况下&#xff0c;通过本地网络安全地与附近设备共享文件和消息。 项目地址&…

liunx文件系统,日志分析

文章目录 1.inode与block1.1 inode与block概述1.2 inode的内容1.3 文件存储1.4 inode的大小1.5 inode的特殊作用 2.硬链接与软链接2.1链接文件分类 3.恢复误删除的文件3.1 案例:恢复EXT类型的文件3.2 案例:恢复XFS类型的文件3.2.1 xfsdump使用限制 4.分析日志文件4.1日志文件4.…