详解shell if 判断

UNIX Shell 里面比较字符写法

-eq 等于; -ne 不等于;

-gt 大于; -lt 小于 ;

-le 小于等于; -ge 大于等于;

-z 空串; -n 非空串;

= 两个字符相等; != 两个字符不等

无论什么编程语言都离不开条件判断。SHELL也不例外。

大体的格式如下:

if list then
do something here
elif list then
do another thing here
else
do something else here
fi

基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。说明如下:

1 字符串判断

str1 = str2     当两个串有相同内容、长度时为真 str1 != str2     当串str1和str2不等时为真 -n str1       当串的长度大于0时为真(串非空) -z str1       当串的长度为0时为真(空串) str1        当串str1为非空时为真

2 数字的判断

int1 -eq int2   两数相等为真 int1 -ne int2   两数不等为真 int1 -gt int2    int1大于int2为真 int1 -ge int2   int1大于等于int2为真 int1 -lt int2    int1小于int2为真 int1 -le int2    int1小于等于int2为真

3 文件相关的if判断条件语句

-r file     用户可读为真 -w file     用户可写为真 -x file     用户可执行为真 -f file     文件为正规文件为真 -d file     文件为目录为真 -c file     文件为字符特殊文件为真 -b file     文件为块特殊文件为真 -s file     文件大小非0时为真 -t file     当文件描述符(默认为1)指定的设备为终端时为真

4 复杂逻辑判断

-a        与 -o       或 !       非

语法虽然简单,但是在SHELL里使用的时候,它可以实现强大的功能或执行逻辑。

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/12066.html

(0)
晴川运维晴川运维
上一篇 2025年7月9日
下一篇 2025年7月9日

相关推荐

  • Shell输入重定向讲解

    输入重定向是指把文件导入到命令中,而输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中,下面为大家详细讲解一下输入重定向。 和输出重定向一样,Unix 命令也可以从文件获…

    Linux系统 2025年10月27日
  • 详解Vim插件:Python-mode

    Python-mode 是一个 vim 插件,允许你在 vim 编辑器中使用工具:pylint, rope, pydoc, pyflakes, pep8, mccabe ,用来对 …

    Linux系统 2025年6月10日
  • Linux下查看端口占用具体方法

    Linux如何查看端口占用?在Linux系统中查看端口占用可以使用lsof和netstat命令,下面为大家讲解一下Linux下查看端口占用具体方法。 1、lsof -i:端口号 用…

    Linux系统 2025年6月26日
  • 详解Shell脚本的条件测试和if条件语句

    本篇文章重点为大家讲解一下shell脚本的条件测试操作,并通过正确使用if语句,使Shell脚本具有一定的“判断”能力,以根据不同的条件来完成不同的管理任务。 一、条件测试操作 要…

    Linux系统 2025年9月23日
  • 详解Redis主从技术

    Redis复制 在生产环境中,Redis通过持久化功能(RDB和AOF技术)保证了即使在服务器重启的情况下也不会损失(或少量损失)数据。但是由于数据是存储在一台服务器上的,如果这台…

    Linux系统 2025年6月20日
  • Linux安装Nginx具体方法

    Nginx 是一款面向性能设计的 HTTP 服务器,相较于 Apache、lighttpd 具有占有内存少,稳定性高等优势,下面为大家分享一下Linux安装Nginx具体方法。 准…

    Linux系统 2025年7月4日
  • 细说Redis数据结构

    Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部 分场合可以对关系数据库起到很好的补充作…

    Linux系统 2025年10月26日
  • Linux下安装CUDA详细步骤

    CUDA是并行计算的平台和类C编程模型,我们能很容易的实现并行算法,就像写C代码一样。只要配备的NVIDIA GPU,就可以在许多设备上运行你的并行程序,无论是台式机、笔记本抑或平…

    Linux系统 2025年10月6日
  • Ansible基本架构与工作机制

    ansible是一种自动化运维工具,基于paramiko开发的,并且基于模块化工作,Ansible是一种集成IT系统的配置管理、应用部署、执行特定任务的开源平台。 一、Ansibl…

    Linux系统 2025年6月8日
  • Linux中安装 supervisor 具体步骤

    Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启,下面为大家分享一下在Linux…

    Linux系统 2025年6月9日

发表回复

登录后才能评论