Shell之判断

Linux Shell if判断 Shell编程常用到条件条件判断,本文总结其语法和重要参数。 阅读详情
判断
  • 利用test命令的测试功能

    test -e /opt && echo "1" || echo "2"

  • 常见的测试参数

    测试参数含义语句
    -e文件名是否存在test -e filename
    -f文件名是否存在且为文件test -f filename
    -d文件名是否存在且为目录test -d filename
    -r检测文件名是否存在且具备可读权限test -r filename
    -s检测文件名是否存在且为非空文件test -s filename
    -nt/-ot判断file1是否比file2新/旧test file1 -nt/-ot file2
    -eq两数值相等test n1 -eq n2
    -ne两数不相等test n1 -ne n2
    -gtn1大于n2test n1 -gt n2
    -ltn1小于n2test n1 -lt n2
    -gen1大于等于n2test n1 -ge n2
    -len1小于等于n2test n1 -le n2
  • 判断符号[]

    • 中括号使用规则 [ "$HOME" == "$MALL" ] [ 2 -gt 1 ]; echo $?
      • 中括号内每个组件都需要有空格来分隔
      • 中括号内的变量,建议以双引号括起来
      • 中括号内的常数,建议以单引号或双引号括起来
  • shell脚本的默认变量

    /etc/init.d/network restart

    • 脚本已经针对参数设置变量名称

      /path/to/scriptnameopt1opt2opt3
      $0(脚本文件名)$1$2$3
      名称解释
      $#代表后接参数的个数
      $@代表"$1" “$2” “$3” 每个变量都是独立的
      $*代表"$1c$2c$3c$4" c为分隔字符 默认为空格
    • 实例

      # 执行可以携带参数的脚本,执行脚本后屏幕显示以下数据
      1.程序的文件名
      2.参数的个数
      3.如果参数的个数小于2,告诉用户参数数量太少
      4.全部的参数内容是什么
      5.第一个参数是什么
      6.第二个参数是什么
      
      #!/bin/bash
      # Program:
      #     Program shows the script name, parameters...
      # History:
      # 2021/5/10       Mac      First release
      echo "The script name is  ==>${0}"
      echo "Total parameter number is ==> $#"
      [ "$#" -lt 2 ] && echo "The number of parameter is less than 2. Stop here." && exit 0
      echo "Your whole parameter is  ==> '$@'"
      echo "The first parameter is ==> ${1}"
      echo "The second parameter is ==> ${2}"
      
  • if - else 条件判断式

    • 单层简单判断、多重复杂判断

      if [ 条件判断式 ];then
      	条件成立时执行语句;
      fi
      
      if [ 条件判断式 ];then
      	条件成立时执行的命令;
      else
      	条件不成立时执行的命令;
      fi
      
      if [ 条件判断式1 ];then
      	条件1成立时执行的命令;
      elif [ 条件判断式2 ];then
      	条件2成立时执行的命令;
      else
      	条件1、条件2都不成立时执行的命令
      fi
      

    案例

    携带一个参数进入脚本,如果参数是hello显示Hello,how are you? 如果没有输入参数提示用户必须输入参数;如果输入的不是hello,提示用户只能输入hello作为参数

    #!/bin/bash
    # Program:
    #     take a parameter with the script named 'hello',or...
    # History:
    # 2021/5/10       Mac      First release
    if [ "${1}" == "hello" ]; then
    	echo "Hello,how are you?"
    elif [ "${1}" == "" ]; then
    	echo "You must input parameter, like> {${0} somword}"
    else
    	echo "The only parameter is 'hello', ex> {${0} hello}"
    fi
    
  • case - esac 判断

    代码模板

    case $变量名称 in
    "第一个变量内容")
    	程序段
    	;;
    "第二个变量内容")
    	程序段
    	;;
    *)
    	不包含第一个和第二个变量内容的其他程序段
    	exit 1
    	;;
    esac
    
杰理JL7033C芯片运行SoundFont音色库教程 本教程介绍如何在杰理JL7033C芯片上移植TinySoundFont音色库,实现MIDI播放功能。关键步骤包括:获取TinySoundFont开源代码,创建音色库声音播放数据流,封装核心功能文件。硬件需配备外部PSRAM和NOR FLASH存储音色库,软件使用杰理SDK和工具链。移植后系统可支持40个voice,满足MIDI播放和电子琴演奏需求。教程详细说明了代码移植过程,包括音色库文件处理、内存配置和音频流水线设置。 阅读详情

相关推荐

奥比中光Gemini335L SDK实战:从标定参数到3D点云转换

本文详细介绍了奥比中光Gemini 335L深度相机的SDK实战应用,重点讲解如何跳过繁琐的棋盘格标定,直接调用出厂预标定参数实现高效的3D点云转换。通过解析内参、外参获取及四种核心坐标转换模式,并结合OpenCV等工具,指导开发者快速将相机集成到机器人抓取、三维测量等项目中,实现开箱即用的3D视觉解决方案。

raspberrypi5的博客 642

Shell if 条件判断

Shell 语言中的if条件 一、if的基本语法: if [ command ];then 符合该条件执行的语句 elif [ command ];then 符合该条件执行的语句 else 符合该条件执行的语句 fi 二、文件/文件夹(目录)判断 [ -b FILE ] ...

1534

【脑电信号处理与特征提取】P2-夏晓磊:脑电的神经起源与测量

ElectroEncephaloGraphyTherefore, EEG produces a graphed representation of the electrical activity occurring in a person’s brain.(把一个人的大脑中的电活动画出来)脑电头皮表面记录到的大脑活动产生的电信号(微伏)。(记录位置:硬脑膜/大脑皮层表面- ECoG,神经元群- LFP与MUR/MUA:活动位置:心电、眼电、肌电等)脑电图电压随时间变化的波形图。

m0_51474171的博客 1896

shell判断、if语句

整数测试字符测试文件测试。

。 1902

CA51F3系列(国产)+低功耗模式

CA51F351P6芯片是基于1T 8051内核的8位微控制器,通常情况下,运行速度比传统的8051芯片快10倍,性能更加优越。内置8K Flash程序存储器,可多次重复编程的特性给用户开发带来了极大的方便。不仅保留了传统8051芯片的基本特性,还集成了12Bit ADC、LCD/LED驱动、Touch Key、16Bit PWM、 UART、RTC、低电压检测(LVD)等功能模块。支持IDLE、STOP和低速运行三种省电模式以适应不同功耗要求的应用。

WANGJIHUIwang的博客 573

别再只会用QTcpSocket了!手把手教你用QSslSocket为你的Qt网络应用加上SSL/TLS加密(附完整代码示例)

本文详细介绍了如何将Qt网络应用从QTcpSocket迁移到QSslSocket,实现SSL/TLS加密传输。通过对比API差异、解析核心机制和提供完整代码示例,帮助开发者快速掌握安全网络编程技巧,有效防范数据窃听和中间人攻击等安全风险。

weixin_30654583的博客 401

shell脚本及判断语句

管道和重定向:Shell 支持通过管道(|)将一个命令的输出作为另一个命令的输入,以及通过重定向(>、<、>>)改变命令的输入输出流,从而实现了命令之间的复杂交互。文件处理:Shell 提供了丰富的文件处理命令,如 ls(列出目录内容)、cp(复制文件)、mv(移动或重命名文件)、rm(删除文件)等,用于文件系统的管理和操作。-eq:equal,等于,一般用于 [ $?断,再进行或判断,可使⽤[ $age -gt 2 -a $age -lt 10 -o $age -eq 100 ]

m0_68394388的博客 1539

【近源攻击】badusb制作

BadUSB是利用伪造HID设备执行攻击载荷的一种攻击方式。HID(Human InterfaceDevice)设备通常指的就是键盘鼠标等与人交互的设备,用户插入BadUSB,就会自动执行预置在固件中的恶意代码。BadUsb插入后,会模拟键盘鼠标对电脑进行操作,通过这些操作打开电脑的命令终端,并执行一条命令,这条命令将从指定网址下载其他代码并于后台静默运行。这些代码功能包括:窃取信息、反弹shell、发送邮件等,从而实现控制目标机或者窃取信息的目的。

qinjilll的博客 2550

shell条件测试与判断

条件测试与if判断

weixin_61522777的博客 670

STM32F103模拟SSI时序解析:实现高精度绝对式编码器位置读取

本文详细解析了如何在STM32F103微控制器上通过软件模拟SSI协议时序,实现高精度绝对式编码器的位置读取。文章从项目驱动出发,深入剖析了SSI通信原理、硬件电平转换连接、核心软件模拟代码实现及关键时序参数调试方法,并提供了使用示波器进行波形对齐与优化的实战指南,为成本敏感型工业控制与机器人项目提供了高性价比的解决方案。

weixin_29196315的博客 143

【华为OD机试真题】3、 路灯照明问题 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)

题目描述 >在一条笔直的公路上安装了N个路灯,从位置0开始安装,路灯之间间距固定为100米。 每个路灯都有自己的照明半径,请计算第一个路灯和最后一个路灯之间,无法照明的区间的长度和。

KJ.JK 1万+

【shell】shell判断的几种方式

在Shell中有多种方法可以进行条件判断。

卷王工作室 1274

Motoman机器人离线编程——Motocom32开发简介

欢迎关注Jungle的Motoman机器人离线编程专栏系列文章: Motoman机器人离线编程——Motocom32开发简介 Motoman机器人离线编程——Visio Studio环境配置 Motoman机器人离线编程——Motocom32库函数的使用与封装 Motoman机器人离线编程——Motocom32参考文献及注意事项 Motoman机器人离线编程——MotocomES介绍 ...

冯Jungle的个人博客 8714

Shell脚本中的if判断

Shell脚本中的if判断 文章目录Shell脚本中的if判断if的基本语法最简单用法多分支判断if判断中的参数文件/文件夹(目录)判断字符串判断数值判断复杂逻辑判断 在写shell脚本的时候,条件判断是最常用到的,尤其刚写shell脚本的时候,一些高级命令语法不会使用,到处都是if。 但if的参数及用法其实也并不少,想要用的好,也要下一些功夫。下面我们一起来看下: if的基本语法 最简单用法 if [ condition ];then 符合condition条件执行的语句 fi conditi

黑伴白的博客 7377

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

Shell 判断

写成一行(适用于终端命令提示符): 末尾的fi就是if倒过来拼写,后面还会遇到类似的。 1.3 if else-if else if else-if else 语法格式: 以下实例判断两个变量是否相等: 1.4 if test if else语句经常与test命令结合使用,如下所示: 1.5 if 文件判断 基本的 意义 [ -a FILE] 如果FILE存在,则为真。 [ -b FILE] 如果FILE存在并且是块特殊FILE,则为真。 [ -c FILE] 如果FILE存在并且是

爱死亡机器人 5279

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

shell脚本的各种判断

####################第零部分################################ $0     当前脚本的文件名 $n     传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。 $#     传递给脚本或函数的参数个数。 $*     传递给脚本或函数的所有参数。 $@     传递给脚本或函数的所有参数。

gold_star的专栏 1972

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Shell判断文件或目录是否存在

Shell判断文件或目录是否存在 一. 具体每个选项对应的判断内容: -e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 ...

Bruce小鬼 8万+

shell判断false_Shell脚本IF条件判断和判断条件总结

前言: 无论什么编程语言都离不开条件判断。SHELL也不例外。if list thendo something hereelif list thendo another thing hereelsedo something else herefiEX1:#!/bin/shSYSTEM=`uname -s` #获取操作系统类型,我本地是linuxif [ $SYSTEM = "Lin...

weixin_39995774的博客 142

linux shell判断语句,linux shell 中判断语句

1、字符串判断str1 = str2      当两个串有相同内容、长度时为真str1 != str2      当串str1和str2不等时为真-n str1        当串的长度大于0时为真(串非空)-z str1        当串的长度为0时为真(空串)str1         当串str1为非空时为真2、数字的判断int1 -eq int2    两数相等为真int1 -ne i...

weixin_42522009的博客 1088

shell脚本if条件判断和判断条件总结

一、前言 这篇文章主要介绍了Shell脚本if条件判断和判断条件总结,本文先是给出了if条件判断的语法,然后给出了常用的判断条件总结,需要的朋友可以参考下。 二、语法 shell脚本的if语句语法如下(注意:表达式与 [] 之间需要加空格): if [ 表达式1 ]; then ... elif [ 表达式2 ]; then ... elif [ 表达式2 ]; then ... else...

有理论,有实验,有结论,可为一篇文章 2082

shell编程——Shell条件判断之数字判断

条件判断 之前顺序执行无语法 条件判断、循环判断、函数等都要有语法 条件判断可以控制命令的运行,不再是单纯的按顺序执行 学习条件判断之前需要先了解Shell返回值 Shell的返回值,运行一条命令,都会有一个返回值。0代表执行正常,非0代表命令执行异常 ls / echo $? #返回值放到$?变量中 ls /nononono echo $? 自编写Shell脚本如何设置返回值 显示使用exit 没有使用exit的话,以最后一条命令的返回值作为脚本的返回值 Bash S

不定期分享数据库相关内容。 3479

Shell脚本IF条件判断和判断条件总结

if list then do something here elif list then do another thing here else do something else here fi #!/bin/sh SYSTEM=`uname -s` #获取操作系统类型,我本地是linux if [ $SYSTEM = "Linux" ] ; then #如果是l

lonelykin的专栏 6744

shell常用判断方法汇总

判断是否为文件 [[ -f $1 ]] #是文件为真,不是为假 判断是否为目录 [[ -d $1 ]] #是目录为真,不是为假 判断值是否为空 [[ -n $1 ]] #不为空是真,为空是假 [[ -z $1 ]] #为空是真,不为空是假 判断是否为数字 echo $3 | egrep '^[[:digit:]]+$' &> /dev/null #是数字为真,不是为假 判断命令是否存在 command -v java &> /dev/null #存在为真,不存在

运维@小兵的博客 3111

【Shell】shell判断星期

shell判断今天是星期几 由于某些原因,需要在自动化执行的脚本中,对星期几进行判断。并在固定的日子,搞事情。 shell当前日期是星期几 WEEK_DAY=$(date +%w) echo $WEEK_DAY 判断星期几搞事情 WEEK_DAY=$(date +%w) echo $WEEK_DAY if [[ $WEEK_DAY -ge 1 || $WEEK_DAY -ge 5 ]];...

林多 8950

shell之条件判断

在linux下用shell脚本能够方便地解决很多问题,作为初学者,我也只是窥见了其强大功能中小小的一角。     条件判断,主要包括值的判断和字符串的判断,在shell中还包括对文件的判断。我没有系统的学过shell编程,只是通过一些网上的教程等入了门(当然,是否真的入了门还有待证实),用着用着,我接触到了用于条件判断的 []、[[]],以及 test命令,然后我就困惑了,三者差别在哪里?

u011836061的专栏 590
上一篇: Shell入门介绍及简单案例
下一篇: Shell软件包管理之RPM
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值