shell if语句和test命令
在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命令相关推荐
- shell的几个重要命令,主要参数,循环语句以及变量处理
====================================================================== ule-scripts-shell =========== ...
- shell脚本:使用if-then语句和test命令
一.基本结构化命令if-then语句格式: bash shell的if语句会运行if后面的那个命令.如果该命令的退出状态码是0(该命令成功运行),位于then部分的命令就会被执行.如果该命令的退出状态 ...
- linux shell编程语句if、case.
shell学习笔记--if,case shell的控制流结构主要有if语句.for语句.case语句.while语句.until语句这五种,在shell中这些语句的用法有点类似C语言,很容易学会,但也 ...
- 在 Shell 脚本中跟踪调试命令的执行
文章目录 shell 脚本调试系列 概述 shell 跟踪执行的重要性 shell 脚本调试系列 本系列的前面部分清晰地阐明了另外两种 shell 脚本调试模式:详细模式和语法检查模式,并用易于理解的 ...
- Shell Here Document 免交互命令和Expect
Shell Here Document 免交互命令和Expect 一.Here Document 免交互命令 二.Expect 1.基本命令 2.示例 3.嵌入执行模式 4.实现ssh自动登录 5.免 ...
- Shell脚本中循环select命令用法笔记
在Shell脚本中,select命令是一种菜单扩展的循环方式. 语法结构如下: select Menu in (list) do command done 说明:当程序运行到select语句时,会自动 ...
- Linux Shell脚本入门教程系列之(十三)Shell分支语句case … esac教程
本文是Linux Shell脚本系列教程的第(十三)篇,更多Linux Shell教程请看:Linux Shell脚本系列教程 上一篇之 后,分支语句非常实用,基本上高级语言都支持分支语句(pytho ...
- shell正则表达式及一些排序命令(sort、uniq、tr)
shell正则表达式及一些排序命令 文章目录 shell正则表达式及一些排序命令 一.sort命令 语法格式: 常用选项: 二.uniq命令 语法格式: 常用选项: 三.tr命令 语法格式: 常用选项 ...
- linux shell编程 ppt,Linux常用命令与Shell基本编程.ppt
Linux常用命令与Shell基本编程.ppt Shell 脚本基本编程,无线产品部 katanazhang 2009-11-09,课程目标,linux 常用命令 shell 脚本编程 awk 的用法 ...
最新文章
- 数据结构:字典树的基本使用
- linux环境OpenRASP使用教程,OpenRASP技术分析
- linux shell 宏定义_linux内核修炼之系统调用
- python函数的作用降低编程复杂度_Python语言程序设计 (第11期) 测验5: 函数和代码复用...
- Sentinel服务熔断Ribbon环境预说_客户自定义限流处理_削峰填谷_流量控制_速率控制_服务熔断_服务降级---微服务升级_SpringCloud Alibaba工作笔记0048
- 通过u盘装window7
- 美团点评技术年货:900+页电子书,覆盖前端、后台、大数据、算法……(附下载链接)...
- 帆软日期参数联动方法
- next数组_数据结构之数组与链表
- ROS下使用摄像头进行机器人巡线功能(附带功能包链接)
- Delphi使用reportmachine导出pdf蓝色解决方法
- 新茶饮的尽头是瓶装水?
- S7-1200/1500获取本地IP地址(不使用库)
- 如何在Mac上卸载软件?用这三种方法简单、干净、快速
- qq空间把android改成iphone,装逼时代 教你如何修改QQ微信小尾巴为来自iphone6
- LaTex用模板的时候图片的caption标题无法左对齐
- bim webgl 模型 轻量化_WebGL轻量化BIM引擎如何加载大体量BIM模型
- IR的评价指标-MAP,NDCG和MRR
- 微软2013暑假实习生笔试题解析
- OPPO A35上手简评:一款中规中矩的入门级智能手机