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脚本之条件判断相关推荐

  1. Linux之Shell脚本的条件判断和函数

    一.条件判断 1.if判断 (1)基本语法 if [ 条件判断式 ] then程序 fi 注意事项: 1.[ 条件判断式 ]中括号和条件判断式之间必须有空格 2.if后要有空格 (2)实操 输入一个数 ...

  2. Shell脚本IF条件判断和判断条件总结

    IF条件判断 1.基本语法: if [ command ]; then 符合该条件执行的语句 fi 2.扩展语法: if [ command ];then 符合该条件执行的语句 elif [ comm ...

  3. if判断用户名 linux,Shell脚本IF条件判断和判断条件总结

    前言:      无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here elif list then do another thing ...

  4. linux脚本条件判断或,Shell脚本IF条件判断和判断条件总结

    前言:      无论什么编程语言都离不开条件判断.SHELL也不例外. if list then do something here elif list then do another thing ...

  5. shell中的条件判断和比较

    1  shell 的$! ,$?, $$,$@ $n        $1 the first parameter,$2 the second... $#        The number of co ...

  6. shell脚本if语句判断

    if条件判断语句,通常以if开头,fi结尾,也可加入else或者elif进行多条件的判断 如下 : if (表达式) 语句1 else 语句2 fi if语句Shell脚本编程案例如下: #!/bin ...

  7. shell脚本之条件语句

    1 条件测试 1.1 Test命令 可以对特定条件进行测试,并根据返回值来判断条件是否成立(返回值为 0 表示条件成立,反之不成立). 使用test命令测试时,有两种形式:(常用格式二) 格式一:te ...

  8. linux判断搜索结果,shell编程之条件判断和find查询

    使用read 来把输入值分配给一个或多个shell 变量: -p指定要显示的提示 -t TIMEOUT read从标准输入中读取值,给每个单词分配一个变量 所有剩余单词都被分配给最后一个变量 read ...

  9. Shell基础之条件判断 分支判断

    条件判断式语句 文件类型判断 测试选项 作用 -d 文件 是否是目录 -e 文件 是否存在 -f 文件 是否是文件 整数之间的比较 测试选项 作用 整数1 -eq 整数2 相等 整数1 -ne 整数2 ...

最新文章

  1. Intel qsv + ffmpeg 硬解h264
  2. console程序显示彩色文字 .
  3. T-SQL笔记6:GO
  4. WS_EX_COMPOSITED是个BUG?
  5. 前端学习(1841):前端面试题之redux管理状态机制
  6. JBOSS7启动与关闭
  7. 资金时间价值的计算机应用视频讲解,第八章资金时间价值与方案经济比选20161018讲解.ppt...
  8. Yaffs2根文件系统制作
  9. NodeJS(四)Mac下如何安装package.json里面会产生依赖项
  10. matlab 三维 作图 坐标轴_这张图(不全),想利用matlab画一张三维图,X Y z 轴分别为经度 纬度 频率,这...
  11. 从游戏AI到自动驾驶,一文看懂强化学习的概念及应用
  12. Java对象逃逸分析
  13. PHP解压zip文件,并且读取文件内容输出
  14. 虚拟服务器 被劫持,服务器DNS被劫持,服务器dns被劫持怎么解决?
  15. 计算机单招基础知识试题,高职单招《计算机类专业基础知识》正式试卷
  16. MySQL - java.sql.SQLException: Data truncated for column ‘xx‘ at row 1
  17. 用计算机名ping得ip,PING命令取得计算机名和IP
  18. Lisp语言:循环控制
  19. 北航计算机刘强,刘强 LIU Qiang
  20. 你知道S7-200 SMART和S7-200的区别吗?

热门文章

  1. php类型优先级_PHP: 运算符优先级 - Manual
  2. 冷板式液冷--术语、定义和缩略语(6-1)
  3. 2022,普平数据中心招聘来啦!
  4. 柴油发电机组常见故障及处理方法
  5. 重新考虑数据中心的冷却方案—水冷却或将再次兴起
  6. 机房线路老化了会有怎么样的影响?又该如何处理?
  7. tushare pro接口_利用tushare获取新闻联播文字稿并制作词云
  8. Py之pandas:利用isin函数对dataframe格式数据按照多个字段的条件筛选
  9. DL之LSTM:基于《wonderland爱丽丝梦游仙境记》小说数据集利用LSTM算法(层加深,基于keras)对单个character字符预测
  10. Excel:python结合Excel使用技巧经验总结之(将python输出的等间隔列数据直接粘贴复制存到物理表格内等)图文教程之详细攻略