在shell中if条件判断语句和我们的C、C++、Java等语言是不同的,shell的if语句条件必须用[ ]括起来,另外[ ]里外都需要用空格与周围隔开(例如[ a==b ]),否则报错;另外与if配对的有else if和else,如果我们要写这两个必须后面跟有东西,否则也会报错,在编程中不跟是可以的:

if(a==b)
printf("a=b");
else
{
//什么都没有
}

但是shell中是不可以的,简单的看一下shell里的if、else if和else的简单使用:

#!/bin/bash
a=10
b=20
if [ $a == $b ]#注意[]里外的空格
then #if条件成立后引出后续
echo 'a=b'
elif [ $a -gt $b] #如果使用else if 必须在最后多加一
fi #结束
then echo "a > b" #所有包含if的判断,都需要then引出后续
else#必须有操作,否则只写else报错
echo 'a<b'
fi #if结束标志,必须有

以上就是简单的条件判断语句举例说明,下面我们来看看shell的test命令说明:Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。下面我们接着对这个三个方面进行举例说明:
1、数字:

这里的数值的比较条件分别为:

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

如果变量名过长取值比较需要加[],如比较val和val1:$[val] -eq $[val1]
2、字符串比较:

字符串的比较:

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

字符串变量取值规则和数字一样,变量长的话加[]。
3、文件测试:

文件是针对单个文件的:

-e 文件名  如果文件存在则为真
-r 文件名  如果文件存在且可读则为真
-w 文件名  如果文件存在且可写则为真
-x 文件名  如果文件存在且可执行则为真
-s 文件名  如果文件存在且至少有一个字符则为真
-d 文件名  如果文件存在且为目录则为真
-f 文件名  如果文件存在且为普通文件则为真
-c 文件名  如果文件存在且为字符型特殊文件则为真
-b 文件名  如果文件存在且为块特殊文件则为真

具体展示就不在这里展示了,最后我们来看看执行结果:

shell if语句和test命令相关推荐

  1. shell的几个重要命令,主要参数,循环语句以及变量处理

    ====================================================================== ule-scripts-shell =========== ...

  2. shell脚本:使用if-then语句和test命令

    一.基本结构化命令if-then语句格式: bash shell的if语句会运行if后面的那个命令.如果该命令的退出状态码是0(该命令成功运行),位于then部分的命令就会被执行.如果该命令的退出状态 ...

  3. linux shell编程语句if、case.

    shell学习笔记--if,case shell的控制流结构主要有if语句.for语句.case语句.while语句.until语句这五种,在shell中这些语句的用法有点类似C语言,很容易学会,但也 ...

  4. 在 Shell 脚本中跟踪调试命令的执行

    文章目录 shell 脚本调试系列 概述 shell 跟踪执行的重要性 shell 脚本调试系列 本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的 ...

  5. Shell Here Document 免交互命令和Expect

    Shell Here Document 免交互命令和Expect 一.Here Document 免交互命令 二.Expect 1.基本命令 2.示例 3.嵌入执行模式 4.实现ssh自动登录 5.免 ...

  6. Shell脚本中循环select命令用法笔记

    在Shell脚本中,select命令是一种菜单扩展的循环方式. 语法结构如下: select Menu in (list) do command done 说明:当程序运行到select语句时,会自动 ...

  7. Linux Shell脚本入门教程系列之(十三)Shell分支语句case … esac教程

    本文是Linux Shell脚本系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 上一篇之 后,分支语句非常实用,基本上高级语言都支持分支语句(pytho ...

  8. shell正则表达式及一些排序命令(sort、uniq、tr)

    shell正则表达式及一些排序命令 文章目录 shell正则表达式及一些排序命令 一.sort命令 语法格式: 常用选项: 二.uniq命令 语法格式: 常用选项: 三.tr命令 语法格式: 常用选项 ...

  9. linux shell编程 ppt,Linux常用命令与Shell基本编程.ppt

    Linux常用命令与Shell基本编程.ppt Shell 脚本基本编程,无线产品部 katanazhang 2009-11-09,课程目标,linux 常用命令 shell 脚本编程 awk 的用法 ...

最新文章

  1. 数据结构:字典树的基本使用
  2. linux环境OpenRASP使用教程,OpenRASP技术分析
  3. linux shell 宏定义_linux内核修炼之系统调用
  4. python函数的作用降低编程复杂度_Python语言程序设计 (第11期) 测验5: 函数和代码复用...
  5. Sentinel服务熔断Ribbon环境预说_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0048
  6. 通过u盘装window7
  7. 美团点评技术年货:900+页电子书,覆盖前端、后台、大数据、算法……(附下载链接)...
  8. 帆软日期参数联动方法
  9. next数组_数据结构之数组与链表
  10. ROS下使用摄像头进行机器人巡线功能(附带功能包链接)
  11. Delphi使用reportmachine导出pdf蓝色解决方法
  12. 新茶饮的尽头是瓶装水?
  13. S7-1200/1500获取本地IP地址(不使用库)
  14. 如何在Mac上卸载软件?用这三种方法简单、干净、快速
  15. qq空间把android改成iphone,装逼时代 教你如何修改QQ微信小尾巴为来自iphone6
  16. LaTex用模板的时候图片的caption标题无法左对齐
  17. bim webgl 模型 轻量化_WebGL轻量化BIM引擎如何加载大体量BIM模型
  18. IR的评价指标-MAP,NDCG和MRR
  19. 微软2013暑假实习生笔试题解析
  20. OPPO A35上手简评:一款中规中矩的入门级智能手机

热门文章

  1. 利用DirectShow开发C#版的视频播放器
  2. 哄她开心的圣诞树html源码,复制粘贴就能实现~
  3. Ubuntu查看USB串口号【简单、好记、好看】
  4. shell可以卖钱_【一点资讯】什么叫Shell Cordovan呢?马臀皮鞋子,牛仔裤和腰带能卖多少钱...
  5. 网工解惑,子网掩码是什么以及子网掩码有哪些?
  6. 训练营四教官打死网瘾少年案今开庭审理
  7. 10019---Linux查看CPU、内存、硬盘、版本信息
  8. 2个鸡蛋100层楼--动态规划
  9. 机器学习中的二分类问题评价指标之精确率、召回率、F1值通俗理解
  10. 元数据管理平台技术白皮书