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 判断语句的资料请关注脚本之家其它相关文章!

相关文章

  • BASH 学习笔记小结

    BASH 学习笔记小结

    BASH 学习笔记小结,想要学习linux bash编程的朋友可以参考下
    2012-05-05
  • Django中shell命令的使用

    Django中shell命令的使用

    Django的manage工具提供了shell命令,本文主要介绍了Django中shell命令的使用,方便直接在终端中执行测试python语句,有需要的小伙伴可以参考下
    2021-05-05
  • Linux下使用Shell脚本实现进程监控的流程

    Linux下使用Shell脚本实现进程监控的流程

    这篇文章主要介绍了Linux下使用Shell脚本实现进程监控,在 Linux 平台下,shell 脚本监控是一个非常简单、方便的工具,它可以有效的对服务器、进程进行监控,对系统开发以及进程维护人员非常有帮助,需要的朋友可以参考下
    2023-02-02
  • linux shell 编程之函数使用详解

    linux shell 编程之函数使用详解

    使用linux的shell编程,可以说函数是非常重要的内容,也是在编写各类shell脚本的时候经常用到的,这篇文章主要介绍了linux shell 编程之函数使用,需要的朋友可以参考下
    2022-10-10
  • Linux tar 命令出现 Cowardly refusing to create an empty archive 错误解决办法

    Linux tar 命令出现 Cowardly refusing to create an empty archive

    这篇文章主要介绍了Linux tar 命令出现 Cowardly refusing to create an empty archive 错误解决办法的相关资料,需要的朋友可以参考下
    2017-04-04
  • awk基础知识小结

    awk基础知识小结

    awk基础知识小结,方便学习awk的朋友
    2013-02-02
  • Linux 中的通配符详解及实例

    Linux 中的通配符详解及实例

    这篇文章主要介绍了Linux 中的通配符详解及实例的相关资料,希望通过本文能掌握Linux 通配符的知识,需要的朋友可以参考下
    2017-09-09
  • shell脚本配置hostname的方法步骤

    shell脚本配置hostname的方法步骤

    本文主要介绍了shell脚本配置hostname的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • 通过shell脚本循环进入目录执行命令的方法

    通过shell脚本循环进入目录执行命令的方法

    今天小编就为大家分享一篇通过shell脚本循环进入目录执行命令的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • 如何测试端口通不通(四种方法)

    如何测试端口通不通(四种方法)

    一般情况下使用"telnet ip port"判断端口通不通.接下来通过本文给大家分享四种方法测试端口通不通,感兴趣的朋友一起学习吧
    2016-01-01

最新评论