Shell脚本之条件判断
1.基本语法
[ condition ](注意condition前后要有空格)注意:条件非空即为true,[ 666 ]返回true,[] 返回false。
2. 常用判断条件
(1)两个整数之间比较= 字符串比较
-lt 小于(less than)
-le 小于等于(less equal)
-eq 等于(equal)
-gt 大于(greater than)
-ge 大于等于(greater equal)
-ne 不等于(Not equal)
(2)按照文件权限进行判断
-r 有读的权限(read)
-w 有写的权限(write)
-x 有执行的权限(execute)
(3)按照文件类型进行判断
-f 文件存在并且是一个常规的文件(file)
-e 文件存在(existence)
-d 文件存在并是一个目录(directory)
注意:任何命令的执行状态为0则为True,否则为False
3、案例
a、判断当前目录下某个文件是否存在
[ -e 文件名 ]
echo $?
b、判断当前文件是否存在并且是一个目录
[ -d 文件名 ]
echo $?
[root@mylinux2 shell]# [ 23 -lt 24 ]
[root@mylinux2 shell]# echo $?
0
[root@mylinux2 shell]# [ 23 -le 24]
-bash: [: 缺少 `]'
[root@mylinux2 shell]# [ 23 -le 24 ]
[root@mylinux2 shell]# echo $?
0
[root@mylinux2 shell]# [ 23 -le 22 ]
[root@mylinux2 shell]# echo $?
1
04_特殊变量-1.sh是否具有写权限
[root@mylinux2 shell]# [ -w 04_特殊变量-1.sh ]
[root@mylinux2 shell]# echo $?
004_特殊变量-1.sh是否具有可执行的权限
[root@mylinux2 shell]# [ -x 04_特殊变量-1.sh ]
[root@mylinux2 shell]# echo $?
104_特殊变量-1.sh是否是一个常规的文件(file)
[root@mylinux2 shell]# [ -f 04_特殊变量-1.sh ]
[root@mylinux2 shell]# echo $?
004_特殊变量-1.sh是否是一个目录
[root@mylinux2 shell]# [ -d 04_特殊变量-1.sh ]
[root@mylinux2 shell]# echo $?
1判断文件04_特殊变量-1.sh是否存在当前目录下
[root@mylinux2 shell]# [ -e 04_特殊变量-1.sh ]
[root@mylinux2 shell]# echo $?
0
(4)多条件判断
&& 表示前一条命令执行成功时,才执行后一条命令;
|| 表示上一条命令执行失败后,才执行下一条命令
逻辑与
a
[root@mylinux2 shell]# [ 23 -lt 24 ] && echo ok
ok
为什么打印ok?
因为条件表达式中23<24为True,而True 和 另一个条件不能确定整个结果,所以&&后面的echo ok要执行
b、
[root@mylinux2 shell]# [ 25 -lt 24 ] && echo ok
[root@mylinux2 shell]# echo $?
1
为什么执行不正确?
因为条件表达式25<24为False,而False && XXX,XXX为任意的逻辑运算都为False,所以后面的 echo ok 就不用执行了
逻辑或
[root@mylinux2 shell]# [ 25 -lt 24 ] || echo ok
ok
为什么打印ok?
因为条件表达式中25<24为False,而False 和 另一个条件不能确定整个结果,所以 || 后面的echo ok要执行
[root@mylinux2 shell]# [ 23 -lt 24 ] || echo ok
[root@mylinux2 shell]# echo $?
0
为什么执行正确?
因为条件表达式23<24为True,True || XXX,XXX不管是任何逻辑运算,其结果都为True,所以输出为0
4、if判断
1.基本语法
if [ 条件判断式 ];then 程序
fi
注意事项:
1)[ 条件判断式 ],中括号和条件判断式之间必须有空格
2)if后要有空格
脚本如下:
执行代码:
[root@mylinux2 shell]# bash 09if判断-1.sh 12
未成年
[root@mylinux2 shell]# bash 09if判断-1.sh 24
青年
[root@mylinux2 shell]# bash 09if判断-1.sh 33
中老年
Shell脚本之条件判断相关推荐
- Linux之Shell脚本的条件判断和函数
一.条件判断 1.if判断 (1)基本语法 if [ 条件判断式 ] then程序 fi 注意事项: 1.[ 条件判断式 ]中括号和条件判断式之间必须有空格 2.if后要有空格 (2)实操 输入一个数 ...
- Shell脚本IF条件判断和判断条件总结
IF条件判断 1.基本语法: if [ command ]; then 符合该条件执行的语句 fi 2.扩展语法: if [ command ];then 符合该条件执行的语句 elif [ comm ...
- if判断用户名 linux,Shell脚本IF条件判断和判断条件总结
前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here elif list then do another thing ...
- linux脚本条件判断或,Shell脚本IF条件判断和判断条件总结
前言: 无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here elif list then do another thing ...
- shell中的条件判断和比较
1 shell 的$! ,$?, $$,$@ $n $1 the first parameter,$2 the second... $# The number of co ...
- shell脚本if语句判断
if条件判断语句,通常以if开头,fi结尾,也可加入else或者elif进行多条件的判断 如下 : if (表达式) 语句1 else 语句2 fi if语句Shell脚本编程案例如下: #!/bin ...
- shell脚本之条件语句
1 条件测试 1.1 Test命令 可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为 0 表示条件成立,反之不成立). 使用test命令测试时,有两种形式:(常用格式二) 格式一:te ...
- linux判断搜索结果,shell编程之条件判断和find查询
使用read 来把输入值分配给一个或多个shell 变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量 所有剩余单词都被分配给最后一个变量 read ...
- Shell基础之条件判断 分支判断
条件判断式语句 文件类型判断 测试选项 作用 -d 文件 是否是目录 -e 文件 是否存在 -f 文件 是否是文件 整数之间的比较 测试选项 作用 整数1 -eq 整数2 相等 整数1 -ne 整数2 ...
最新文章
- Intel qsv + ffmpeg 硬解h264
- console程序显示彩色文字 .
- T-SQL笔记6:GO
- WS_EX_COMPOSITED是个BUG?
- 前端学习(1841):前端面试题之redux管理状态机制
- JBOSS7启动与关闭
- 资金时间价值的计算机应用视频讲解,第八章资金时间价值与方案经济比选20161018讲解.ppt...
- Yaffs2根文件系统制作
- NodeJS(四)Mac下如何安装package.json里面会产生依赖项
- matlab 三维 作图 坐标轴_这张图(不全),想利用matlab画一张三维图,X Y z 轴分别为经度 纬度 频率,这...
- 从游戏AI到自动驾驶,一文看懂强化学习的概念及应用
- Java对象逃逸分析
- PHP解压zip文件,并且读取文件内容输出
- 虚拟服务器 被劫持,服务器DNS被劫持,服务器dns被劫持怎么解决?
- 计算机单招基础知识试题,高职单招《计算机类专业基础知识》正式试卷
- MySQL - java.sql.SQLException: Data truncated for column ‘xx‘ at row 1
- 用计算机名ping得ip,PING命令取得计算机名和IP
- Lisp语言:循环控制
- 北航计算机刘强,刘强 LIU Qiang
- 你知道S7-200 SMART和S7-200的区别吗?
热门文章
- php类型优先级_PHP: 运算符优先级 - Manual
- 冷板式液冷--术语、定义和缩略语(6-1)
- 2022,普平数据中心招聘来啦!
- 柴油发电机组常见故障及处理方法
- 重新考虑数据中心的冷却方案—水冷却或将再次兴起
- 机房线路老化了会有怎么样的影响?又该如何处理?
- tushare pro接口_利用tushare获取新闻联播文字稿并制作词云
- Py之pandas:利用isin函数对dataframe格式数据按照多个字段的条件筛选
- DL之LSTM:基于《wonderland爱丽丝梦游仙境记》小说数据集利用LSTM算法(层加深,基于keras)对单个character字符预测
- Excel:python结合Excel使用技巧经验总结之(将python输出的等间隔列数据直接粘贴复制存到物理表格内等)图文教程之详细攻略