首页 > 系统相关 >linux shell 编程比较详解

linux shell 编程比较详解

时间:2023-06-18 15:00:47浏览次数:40  
标签:小于 shell linux 详解 等于 字符串 大于 true

shell 编程字符串比较

shell 中整数比较和字符串比较方法,如等于,不等于,大于,大于等于,小于,小于等于等。

1、整数比较

-eq 等于,如if [ "$a" -eq "$b" ]

-ne 不等于,如if [ "$a" -ne "$b" ]

-gt 大于,如if [ "$a" -gt "$b" ]

-ge 大于等于,如if [ "$a" -ge "$b" ]

-lt 小于,如 if [ "$a" -lt "$b" ]

-le 小于等于,如if [ "$a" -le "$b" ]

< 小于 如:(("$a" < "$b"))

<= 小于等于 如:(("$a" <= "$b"))

> 大于 如:(("$a" > "$b"))

>=大于等于如:(("$a" >= "$b"))

注意:[]中必须隔个空格,否则报错

2、字符串比较

= 等于,如:if [ "$a" = "$b" ]

== 等于,如:if[ "$a" == "$b" ],与=等价

!= 不等于,如:if [ "$a" !="$b" ],不等于

-z 字符串长度是否为0,为0返回true

-n 字符串长度是否为0,不为0返回true

str 字符串是否为空,不为空返回true

if [[ "$A" == a* ]]: then  ###如果$a以"a" 开头就为真

echo "[[ ==a* ]]"

fi  

if [ "$A" == a* ]:then ###如果$a以"a"开头就为真

echo "[ ==a*]"

fi

标签:小于,shell,linux,详解,等于,字符串,大于,true
From: https://blog.51cto.com/u_16056808/6508565

相关文章

  • 【简介】一个捕捉Linux系统事件工具:systemtap
    SystemTap于2005年出初版,已经历尽了5年多的发展,是一个相对成熟的工具。它可以用来捕捉Linux系统事件,例如:系统调用,jiffies的搏动,对proc文件系统的读写事件,对ext3的读写事件等等。 用户使用systemtap特有的脚本语言编写事件处理函数,systemtap将这些脚本进行编译转化成内核模块并插......
  • shell的date的部分处理--需要记住..
    在Linux中,可以使用date命令获取日期,date获取当前完整日期date--date="3daysago"获取3天前的完整日期date--date="3daysago"+%Y%m%d  获取3天前的年月日;在date命令中,可以用%指定要显示内容,显示结果为如下形式:20120429......
  • shell启停脚本
    #!/usr/bin/envbash#获取服务目录xxx_dir=$(cd$(dirname"${BASH_SOURCE[0]}")&&pwd)#端口检测间隔w_interval=3#启动后端口检测次数max_retried_times=50REDIS_INSTALL_DIR=/bin/REDIS_CONFIG_FILE=/etc/redis/redis.confMONGO_INSTALL_DIR=/usr/MONGO_CON......
  • 3、【java程序运行监控byteman】Byteman脚本详解及javaagent和byteman结合使用详细示
    java程序运行监控byteman系列文章1、【java程序运行监控byteman】之安装部署和入门示例2、【java程序运行监控byteman】使用示例(运行中方法耗时监控、javaagent监控、jvm监控、规则的检查、是否运行以及查看等)3、【java程序运行监控byteman】Byteman脚本详解及javaagent和bytem......
  • archLinux grub 双系统引导
    1安装grub、efibootmgr和os-prober##安装grub,efibootmgr,os-probersudopacman-Sgrubefibootmgros-prober##安装grub到boot文件夹中。uefi启动grub-install--target=x86_64-efi--efi-directory=/boot--bootloader-id=GRUB##非uefi启动grub-install--target=i......
  • Target: arm-none-linux-gnueabi
    [root@localhostsoftware]#whicharm-linux-gcc/usr/local/arm/4.3.2/bin/arm-linux-gcc[root@localhostsoftware]#arm-linux-gcc-Varm-none-linux-gnueabi-gcc:'-V'mustcomeatthestartofthecommandline[root@localhostsoftware]#......
  • Linux的文件系统及文件缓存
    文件系统的特点文件系统要有严格的组织形式,使得文件能够以块为单位进行存储。文件系统中也要有索引区,用来方便查找一个文件分成的多个块都存放在了什么位置。如果文件系统中有的文件是热点文件,近期经常被读取和写入,文件系统应该有缓存层。文件应该用文件夹的形式组织起来,方便管理和......
  • What is SELinux?
    WhatisSELinux?https://www.redhat.com/en/topics/linux/what-is-selinux#overviewOverviewSecurity-EnhancedLinux(SELinux)isasecurityarchitectureforLinux®systemsthatallowsadministratorstohavemorecontroloverwhocanaccessthesystem.I......
  • Linux批量文件操作——基于find-xargs
    前言在项目初创阶段,经常会遇到各种文件操作,拷贝头文件,库,批量重命名等。文件结构一复杂,这就将是个无聊的工作。查找文件find可以在目录结构中搜索文件,这是它在man里面的作用描述。那么怎么搜索呢?有多种方式,按文件时间,大小,按文件名,路径名,按文件类型,权限,按用户。而这些方式又可以......
  • 【Linux中断】中断下半部-tasklet的原理与使用
    tasklet特性(1)一种特定类型的tasklet只能运行在一个CPU上,不能并行,只能串行执行(2)多个不同的类型的tasklet可以并行在多个CPU上(3)软中断是静态分配的,在内核编译好后,就不能再改变了。但tasklet灵活很多,可以在运行时改变tasklet是在两种软中断类型的基础上实现的,因此如果不需......