shell条件测试

1.1.用途

        为了能够正确处理Shell程序运行过程中遇到的各种情况,Linux Shell提供了一组测试运算符.
        通过这些运算符,shell程序能够判断某种或者几个条件是否成立。
        条件测试在各种流程控制语句,例如判断语句和循环语句中发挥了重要的作用,所以了解和掌握这些条件测试是非常重要的

1.2.基本语法

1.2.1.格式:

        格式1:    test         -参数        条件表达式
        格式2:    [    条件表达式    ]    # 注意: [   ] 的左右要有空格
        格式3:    [[    条件表达式    ]]  # 注意: [   ] 的左右要有空格,格式1.2的增强版本,支持通配符
        格式4:        ((条件表达式))

        test单独使用,判断条件为真,echo s?返回0,假返回1
        test与[ ]等价
        [[ ]] 是扩展命令,可以使用通配符等进行模式匹配,&&>等操作符可以直接应用于双中括号中,但不能用于单中括号中
        (())一般用于if语句里,两端不需要有空格,测试对象为整数

1.2.2.例

测试passwd是否为普通文件

[root@server ~]# test -f /etc/passwd                # -f 是否为普通文件
[root@server ~]# echo $?                                 # 以上俩条命令要配合使用

                        # 返回值0成立,返回值1不成立。

# test配合自编逻辑表示

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

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

相关文章

数据分析实例:基于电力大数据的中小型企业运营发展分析

前不久,帆软发起了【2023BI数据分析大赛】的活动,老李我也是这个大赛的评委。   今天跟大家分享的是基于电力大数据的中小型企业运营发展分析。 当我们去解读一份数据分析报告时,首先要了解这份报告的主要目的是什么,作者通过分…

第19关 5.2k star 开源分布式存储服务Rancher-Longhorn在k8s上部署

------> 课程视频同步分享在今日头条和B站 大家好,我是博哥爱运维。 什么是Longhorn Longhorn是一个轻量级、可靠且易于使用的Kubernetes分布式块存储系统。 Longhorn 是免费的开源软件。它最初由 Rancher Labs 开发,现在作为云原生计算基金会的孵…

X86汇编语言:从实模式到保护模式(代码+注释)--c7

X86汇编语言:从实模式到保护模式(代码注释)–c6 ;代码清单7-1;文件名:c07_mbr.asm;文件说明:硬盘主引导扇区代码;创建日期:2011-4-13 18:02jmp near startmessage db 123...100start:mov ax,0x7c0 …

class061 最小生成树【算法】

class061 最小生成树【算法】 2023-12-8 11:48:12 算法讲解061【必备】最小生成树 code1 P3366 【模板】最小生成树 // Kruskal算法模版(洛谷) // 静态空间实现 // 测试链接 : https://www.luogu.com.cn/problem/P3366 // 请同学们务必参考如下代码中…

【Linux】:线程(二)互斥

互斥与同步 一.线程的局部存储二.线程的分离三.互斥1.一些概念2.上锁3.锁的原理4.死锁 一.线程的局部存储 例子 可以看到全局变量是所有线程共享的,如果我们想要每个线程都单独访问g_val怎么办呢?其实我们可以在它前面加上__thread修饰。 这就相当于把g…

网络入门---网络编程初步认识和实践(使用udp协议)

目录标题 前言准备工作udpserver.hpp成员变量构造函数初始化函数(socket,bind)start函数(recvfrom) udpServer.ccudpClient.hpp构造函数初始化函数run函数(sendto) udpClient.cc测试 前言 在上一篇文章中我们初步的认识了端口号的作用,ip地址和MAC地址在网络通信时…

Python实现GUI图片浏览程序

Python实现GUI图片浏览程序 下面程序需要pillow库。pillow是 Python 的第三方图像处理库,需要安装才能实用。pillow是PIL( Python Imaging Library)基础上发展起来的,需要注意的是pillow库安装用pip install pillow,导…

【改进YOLOv8】融合可扩张残差(DWR)注意力模块的小麦病害检测系统

1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 研究背景与意义: 随着计算机视觉技术的快速发展,深度学习在图像识别和目标检测领域取得了巨大的突破。其中,YOLO(You Only Look O…

基于SSM框架的网上商城系统的设计与实现

完整下载:基于SSM框架的网上商城系统的设计与实现 基于SSM框架的网上商城系统的设计与实现 "Design and Implementation of an Online Shopping Mall System Based on SSM Framework" 目录 目录 2 摘要 3 关键词 3 第一章 系统设计 4 1.1 系统需求分析 4 …

TruLens RAG Triad 学习

TruLens RAG Triad 学习 0. 背景1. RAG 三元组2. TruLens 快速入门2-1. 安装依赖2-2. 初始化 OpenAI 认证信息2-3. 获取数据2-4. 创建向量存储2-5. 从头构建自定义 RAG2-6. 设置反馈函数2-7. 构建应用程序2-8. 运行应用程序0. 背景 近年来,RAG 架构已成为为大型语言模型 (LLM…

Nexus搭建npm私库(角色管理、上传脚本)

安装Nexus 官网下载 https://www.sonatype.com/products/sonatype-nexus-oss-download 进入官网下载,最新下载方式需要输入个人信息才能下载了 选择对应的系统进行下载 Windows 推荐也下载 UNIX 版本(Windows 版本配置比较难改) 如果没有下…

chmod 在Linux原生应用开发过程中的简单应用

chmod命令实质上是用来修改文件或目录的访问权限的命令。它通过修改文件或目录的访问控制列表(Access Control List,ACL)来实现权限的更改。 在Linux系统中,每个文件或目录都有一个表示其权限的数字值,即用三个八进制…

Qt 中的窗口类

目录 QWidget 设置父对象 窗口位置 测试代码 窗口尺寸 窗口标题和图标 信号 槽函数 QDialog 常用API QDialog的子类 QMessageBox QFileDialog QFontDialog QFontDialog类的静态API QColorDialog 颜色类 QColor 静态API函数 测试代码 QInputDialog 静态函数…

谷歌AI新篇章:Gemini引领股价飙升,挑战OpenAI霸主地位

导语: “ 在人工智能领域的一场激烈角逐中,谷歌母公司Alphabet以其全新AI大模型Gemini,于周四收盘时引爆股市,股价激增5.3%,市值一日增长超800亿美元。这一跃升不仅展示了谷歌在技术创新上的决心,也是对微软…

GPT4停止订阅付费了怎么办? 怎么升级ChatGPT plus?提供解决方案

11月中旬日OpenAI 暂时关闭所有的升级入口之后,很多小伙伴就真的在排队等待哦。其实有方法可以绕开排队,直接付费订阅升级GPT的。赶紧用起来立马“插队”成功!亲测~~~ 一、登录ChatGPT账号 1、没有账号可以直接注册一个,流程超级…

前端使用视频作为背景图的方法

实现思路 通过 video source 引入视频&#xff0c;并对视频播放属性进行设置&#xff0c;再通过 css 使视频覆盖背景即可。 代码 <!DOCTYPE html> <html> <head> <meta charset"utf-8"> <title>有开发问题可联系作者</title>…

学习git后,真正在项目中如何使用?

文章目录 前言下载和安装Git克隆远程仓库PyCharm链接本地Git创建分支修改项目工程并提交到本地仓库推送到远程仓库小结 前言 网上学习git的教程&#xff0c;甚至还有很多可视化很好的git教程&#xff0c;入门git也不是什么难事。但我发现&#xff0c;当我真的要从网上克隆一个…

ubuntu18.04安装pcl1.11.1

一、安装pcl1.11.1依赖 sudo apt-get update sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev sudo apt-get install mpi-default-dev openmpi-bin openmpi-…

SQL事务的开启,提交和回滚

在处理数据库数据的时候会出现一种情况就是我们删除两个关联的表其中一个表的信息&#xff0c;另一个表也需要改动&#xff0c;但是我们SQL语句在同时更改两个表的同时&#xff0c;难免会出现一个表修改成功&#xff0c;另一个出现错误&#xff0c;这时候表与表之间就会出现矛盾…

webrtc网之sip转webrtc

OpenSIP是一个开源的SIP&#xff08;Session Initiation Protocol&#xff09;服务器&#xff0c;它提供了一个可扩展的基础架构&#xff0c;用于建立、终止和管理VoIP&#xff08;Voice over IP&#xff09;通信会话。SIP是一种通信协议&#xff0c;用于建立、修改和终止多媒体…