if语句常用命令选项:

a == b a与b是否相等 (a、b是数值)
a -ge b a 是否大于等于 b
a -gt b a 是否大于 b
a -le b a 是否小于等于 b
a -lt b a 是否小于 b
a -ne b a 是否不等于 b
str1 = str2 str1是否与str2相同(str1、str2是字符串)
str1 != str2   str1是否与str2不同
str1 < str2  str1是否小于str2
str1 > str2  str1是否da于str2
-n str 判断str长度是否非零
-z str  str长度是否为0
-d file 判断file是否为目录
-e file 判断file是否存在
-f file 检查file是否为文件
-r file 判断文件是否可读
-s file 判断file是否存在并非空
-w file 判断file是可写
-x file 判断file是可执行

语法:
1,单分支语句结构

if [ 条件表达式 ]; then指令
fi

2,双分支语句结构

if [ 条件表达式 ]; then指令一
else指令二
fi

示例:

#!/bin/bash
a=$1
b=$2
if [ $a == $b ];thenecho "a and b is equal"
elseif [ $a -lt $b ];thenecho "a less than b"        elseecho "a bigger than b"        fi
fi

逻辑运算符运用:
1,&& 表示与

2,||表示或
在[  ]中不能用&&  ||

3,[]之间使用逻辑运算符:
-a 与 
-o 或 
! 非

示例:

if [ $score -ge 0 -a $score -lt 60 ];thenecho "sorry,you are lost!"
elif [ $score -ge 60 -a $score -lt 85 ];thenecho "just soso!"
elif [ $score -le 100 -a $score -ge 85 ];thenecho "good job!"
elseecho "input score is wrong , the range is [0-100]!"
fi

#linux使用if判断文件是否存在
#这里的-f参数判断/home/abc.log是否存在

if [ -f "/home/abc.log" ]; then  echo "文件存在"
elseecho "文件不存在"
fi

linux之if语句详解相关推荐

  1. linux shell until语句详解

    until语句 :提供循环执行,它与while循环相反, until循环将反复执行直到条件为真就结束循环,而while循环条件为假就结束循环. 使用格式: until [ 测试条件 ] do 语句 # ...

  2. 【Linux】shell脚本实战-if多分支条件语句详解

    文章目录 前言 多分支语句的语法 多分支语句举例: 1. 出嫁的条件 2. 管理http服务实战脚本 3. 猜数字游戏v1版本-if版本 总结 前言 前面我们已经学习过单分支语句和双分支语句的使用. ...

  3. uboot linux内核传递参数,Uboot与Linux之间的参数传递详解

    原标题:Uboot与Linux之间的参数传递详解 U-boot会给Linux Kernel传递很多参数,如:串口,RAM,videofb等.而Linux kernel也会读取和处理这些参数.两者之间通 ...

  4. Linux crontab 定时任务命令详解

    Linux Crontab 定时任务 命令详解 [日期:2016-02-13] 来源:Linux社区 在工作中需要数据库在每天零点自动备份所以需要建立一个定时任务.我选择在Linux下使用Cronta ...

  5. 【正点原子Linux连载】第三十五章 Linux内核顶层Makefile详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  6. linux 设备驱动 ppt,linux设备驱动开发详解讲座ppt

    PPT内容 这是linux设备驱动开发详解讲座ppt下载,主要介绍了设备驱动简介:建立和运行模块:字符驱动:调试技术:并发和竞争:分配内存:硬件通讯:中断处理:块设备驱动,欢迎点击下载. 嵌入式Lin ...

  7. mysql的load data_【MySQL】load data语句详解(一)

    作者  罗小波 沃趣科技高级MySQL数据库工程师 load data语句详解 背景 数据库版本:MySQL 5.7.18 服务器信息:本地到处导入在10.10.30.241上演示,local远程导入 ...

  8. Linux 系统命令及其使用详解

    Linux 系统命令及其使用详解 Linux 系统命令及其使用详解cat cd chmod chown cp cut名称:cat 使用权限:所有使用者 使用方式:cat [-AbeEnstTuv] [ ...

  9. Linux中fork()函数详解

    Linux中fork()函数详解 一.fork入门知识 一个进程,包括代码.数据和分配给进程的资源.fork()函数通过系统调用创建一个与原来进程几乎完全相同的进程,也就是两个进程可以做完全相同的事, ...

最新文章

  1. C#中调用Windows API的要点
  2. UITableView嵌套WKWebView的那些坑
  3. 主梁弹性模量计算_收藏 | 钢结构计算公式
  4. IdentityServer4 实现 OAuth 2.0(密码模式 - HTTP Post 方式)
  5. ZOJ 2675 Little Mammoth(计算几何)
  6. 把一个英语句子中的单词次序颠倒后输出。例如输入“how are you”,输出“you are how”;...
  7. CSS 编码中超级有用的工具集合
  8. phpfind mysql怎么用_MySQL 的 find_in_set 函数使用方法
  9. Coursera自动驾驶课程第2讲:The Requirements for Autonomy
  10. ae可围绕帧拖动放大插件:Drag Zoom Pro for AE mac(兼容M1)
  11. 防范网络*** 应用层防护是重点
  12. 报错,void AcceptAndReadAvailableTracks(const QString param, int timeout)
  13. CloseableHttpClient 在使用过程中遇到的问题
  14. springmvc配置不拦截静态资源
  15. 计算机电路基础答案刘怀望,计算机电路基础
  16. 昆腾发力中小型带库市场 希翼布局整合解决方案
  17. Ubuntu安装google中文输入法
  18. 微信小程序全选,微信小程序checkbox,微信小程序购物车
  19. Gradle sync failed: Sync failed: reason unknown
  20. [linux] 远程服务器安装unrar(无root)

热门文章

  1. 复制的eclipse常用快捷键 和 设计模式理解方式
  2. 计算机文化宣传普及知识展,浅谈计算机文化
  3. 实战:借助ucloud镜像加速功能下载镜像(亲测成功)-2022.1.1
  4. 竞技时代引领VR电竞,WVA2018全新出发!
  5. MDK/Kile软件生成不了hex文件
  6. matlab p文件转码 matlab pcode文件 将matlab中的p文件转为m文件工具
  7. 传输线方程与终端加载的无损耗传输线
  8. WINDOWS 7全系列验证码
  9. Heiro试用失败记
  10. Mesh Combine Studio 2 Documentation