shell 判断语句脚本用法解析

 更新时间:2023年09月18日 09:25:15   作者:bug生产者  
这篇文章主要为大家介绍了shell判断语句脚本用法解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

判断语句

使用test来进行判断

# test [选项] 文件
test -d /Users/zhanghe/desktop/user/shell

示例:

#如果该文件是目录则输出yes,否则输出no
test -d /Users/zhanghe/desktop/user/shell && echo yes || echo no

选项

按照文件类型判断

-d  判断文件是否存在,且为目录
-e  判断文件是否存在
-f  判断文件是否存在,且为普通文件
-s  判断文件是否存在,并且是否为非空文件
-b  判断文件是否为块设备文件
-c  判断文件是否为字符设备文件
-g  判断文件是否设置setgid位
-h  判断文件是否是符号链接
-L  判断文件是否为符号链接
-p  判断文件是否为管道文件
-u  判断文件是否设置setuid位
#示例
test -s stu.txt

按照权限判断

-r 判断文件是否存在,且是否有读权限
-w 判断文件是否存在,且是否有写权限
-x 判断文件是否存在,且是否有执行权限

#示例
test -w stu.txt

数值比较

-eq   等于
-ne   不等于
-gt   大于
-lt   小于
-ge   大于等于
-le   小于等于

#示例
test 1 -eq 2

字符串比较

-z  判断字符串是否为空
-n  判断字符串是否非空
==  判断两个字符串是否相等
!=  判断两个字符串是否不等

#示例
test "aa" == "ab"

逻辑判断

-a   逻辑与
-o   逻辑或
!    逻辑非

#示例
test "aa" == "aa" -a "ab" == "aa"

上述的test可以使用[ ]来替代

如:

[ -s stu.txt ]
[ "aa" == "ab" ]

还有一种[[ 条件 ]]也可以进行条件判断,对于test和[]如果表达式包含特殊字符的话,需要进行转义,而对于[[ 条件 ]]则不需要理会特殊字符的影响,但是注意[[的后面和]]的前面都至少有一个以上的空格符才行

字符串包含

可以看到上述提供的只是基础的判断,那字符串包含如何进行判断呢

使用grep

if [[ -n `echo "abcd" | grep "ab"` ]]
then echo "包含"
fi

使用通配符

if [[ "abcd" == *ab* ]]
then echo "包含"
fi

以上就是shell 判断语句的详细内容,更多关于shell 判断语句的资料请关注脚本之家其它相关文章!

相关文章

  • linux每天定时备份数据库并删除十天前数据详细步骤

    linux每天定时备份数据库并删除十天前数据详细步骤

    每天定时备份数据库需要用到Linux的定时任务,利用Linux的crondtab 命令。下面通过本文给大家带来了linux每天定时备份数据库并删除十天前数据详细步骤,感兴趣的朋友一起看看吧
    2018-06-06
  • Linux 中(加、减、乘、除)实例详解

    Linux 中(加、减、乘、除)实例详解

    这篇文章主要介绍了 Linux 中(加、减、乘、除)实例详解的相关资料,需要的朋友可以参考下
    2017-05-05
  • 程序中获取linux系统启动时间方法

    程序中获取linux系统启动时间方法

    需要在应用程序获取系统的启动时间,通过sysinfo中的uptime可以计算出系统的启动时间,下面介绍一下获取方法,大家参考使用吧
    2014-01-01
  • 入门shell脚本基础及原理

    入门shell脚本基础及原理

    弄懂shell程序,源代码,以及python脚本能够向运维开发方向走,shell程序能够管理集群,提高开发的效率,shell是命令解释器,调用系统内核,帮助你对内核的刷新认识
    2021-09-09
  • Shell脚本实现的单机流量统计功能

    Shell脚本实现的单机流量统计功能

    这篇文章主要介绍了Shell脚本实现的单机流量统计功能,本文给出实现代码和使用方法,及运行结果,需要的朋友可以参考下
    2014-11-11
  • Linux下使用Rsync完成自动化备份

    Linux下使用Rsync完成自动化备份

    对于运维人员来说,数据备份是最重要的工作之一,rsync就是一款通过网络备份重要数据的工具/软件。
    2018-09-09
  • Linux用脚本实现“时分秒“倒计时功能

    Linux用脚本实现“时分秒“倒计时功能

    这篇文章主要介绍了Linux用脚本实现“时分秒“倒计时功能,本文图文实例相结合给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Shell脚本实现生成SSL自签署证书

    Shell脚本实现生成SSL自签署证书

    这篇文章主要介绍了Shell脚本实现生成SSL自签署证书,本文直接给出实现代码,代码中包含大量注释,需要的朋友可以参考下
    2015-01-01
  • Linux中rpm命令用法详解

    Linux中rpm命令用法详解

    rpm命令是用于在基于RPM包管理系统的Linux发行版中安装、查询、升级和删除软件包的命令行工具,本文讲给大家详细的介绍一下Linux rpm命令的使用方法,感兴趣的同学跟着小编一起来看看吧
    2023-08-08
  • fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法

    fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法

    下面小编就为大家带来一篇fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论