下面是linux常用逻辑判断

-b file            若文件存在且是一个块特殊文件,则为真
-c file            若文件存在且是一个字符特殊文件,则为真
-d file            若文件存在且是一个目录,则为真
-e file            若文件存在,则为真
-f file            若文件存在且是一个规则文件,则为真
-g file            若文件存在且设置了SGID位的值,则为真
-h file            若文件存在且为一个符合链接,则为真
-k file            若文件存在且设置了"sticky"位的值
-p file            若文件存在且为一已命名管道,则为真
-r file            若文件存在且可读,则为真
-s file            若文件存在且其大小大于零,则为真
-u file            若文件存在且设置了SUID位,则为真
-w file            若文件存在且可写,则为真
-x file            若文件存在且可执行,则为真
-o file            若文件存在且被有效用户ID所拥有,则为真

-z string          若string长度为0,则为真
-n string          若string长度不为0,则为真
string1 = string2  若两个字符串相等,则为真
string1 != string2 若两个字符串不相等,则为真

int1 -eq int2      若int1等于int2,则为真
int1 -ne int2      若int1不等于int2,则为真
int1 -lt int2      若int1小于int2,则为真
int1 -le int2      若int1小于等于int2,则为真
int1 -gt int2      若int1大于int2,则为真
int1 -ge int2      若int1大于等于int2,则为真

!expr              若expr为假则复合表达式为真。expr可以是任何有效的测试表达式
expr1 -a expr2     若expr1和expr2都为真则整式为真
expr1 -o expr2     若expr1和expr2有一个为真则整式为真

特殊变量

$0                 正在被执行命令的名字。对于shell脚本而言,这是被激活命令的路径
$n                 该变量与脚本被激活时所带的参数相对应。n是正整数,与参数位置相对应($1,$2…)
$#                 提供脚本的参数号
$*                 所有这些参数都被双引号引住。若一个脚本接收两个参数,$*等于$1$2
$@                 所有这些参数都分别被双引号引住。若一个脚本接收到两个参数,$@等价于$1$2
$?                 前一个命令执行后的退出状态
$$                 当前shell的进程号。对于shell脚本,这是其正在执行时的进程ID
$!                 前一个后台命令的进程号

其中下面两种判断:

expr1 -a expr2     若expr1和expr2都为真则整式为真
expr1 -o expr2     若expr1和expr2有一个为真则整式为真

本人亲测过不行,不知道是不是格式出了问题,待解答

例子:

if [ ! -z $err  -o ! -e $apk ]; then    会报出-e无法找到的错误

而if [ ! -z $err ] || [ ! -e $apk ]; then    没问题

linux shell 逻辑判断相关推荐

  1. linux shell 逻辑判断 [] [[]] -n -z 用法区别

    1.在中括号中,判断变量的值, 加不加双引号的问题? -z 判断 变量的值,是否为空: zero = 0 - 变量的值,为空,返回0,为true - 变量的值,非空,返回1,为false -n 判断变 ...

  2. linux复杂逻辑判断,20.5 shell脚本中的逻辑判断

    shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if -; then - ;elif -; then ...

  3. Linux shell的简单学习

    Linux shell的简单学习 shell script 其实就是纯文本档,我们可以编辑这个档案,然后讥这个档案来帮我们一次执行多个指令, 戒者是刟用一些运算不逡辑刞断来帮我们达成某些功能. Lin ...

  4. linux shell脚本

    一:if的使用  linux shell 之if-------用if做判断_51CTO博客_shell if判断 1.字符串判断 str1 = str2 当两个串有相同内容.长度时为真 str1 != ...

  5. linux shell脚本学习

    linux shell脚本学习笔记 文章目录 linux shell脚本学习笔记 一.脚本入门 1.我的第一个linux脚本 2.关于date命令的知识 二.shell脚本中的变量 1.为什么脚本需要 ...

  6. 第一章 Linux及Linux Shell简介

    1.1 关于Linux 1.1.1 什么是Linux Linux是自由开源的类Unix操作系统.该操作系统的内核是由莱纳斯·托瓦兹在1991年10月5日首次发布. 严格来讲,术语Linux只表示操作系 ...

  7. linux shell 脚本编程基本语法

    linux shell脚本编程基本语法 Shell script是利用shell的功能所写的一个"程序",这个程序是使用纯文本文件,将一些Linux Shell的语法与命令(含外部 ...

  8. Linux Shell if判断

    0 前言 Shell编程常用到条件条件判断,本文总结其语法和重要参数. 1 语法 可以使用test或者[来进行[条件判断,下面的两个代码片段是等价的: if test -f file.c; then ...

  9. linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法

    一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...

最新文章

  1. textarea 固定大小,滚动条,限制拖动,文字对齐
  2. DOM相关方法,属性整理
  3. 用JS制作一个信息管理平台完整版
  4. 不属于python的数据类型_下列________不是Python的数据类型。
  5. ajax获取session值_cookie和session基础知识学习
  6. 横版网页游戏【一骑当先】地图原画资源
  7. 程序员怎样学习python_一个开发十年的程序员论:学习Python最正确的步骤(0基础必备)...
  8. 网络性能测试工具iperf的安装与使用
  9. 利用东方财富网获取股票代码
  10. 国家级精品课程 电子资源 网址
  11. 超级详细Window10安装Java JDK 和配置开发环境
  12. 华为mate40e灭屏显示教程
  13. 安卓10.1寸大屏车载导航
  14. Android 将文本和图片写入到pdf文件以及读取手机里的pdf文件
  15. linux系统的6000端口是什么,3种关闭linux系统端口方法
  16. java 与数据库连接失败_java链接不上数据库,怎么解决!
  17. 手机设置代理后无法上网
  18. 【彻底解决】谷歌或Edge浏览器登录谷歌账户提示浏览器不安全请重新登录
  19. linux获取偶数行内容,linux命令(39):shell 打印偶数行,奇数行 ,行号
  20. ks8851网卡驱动在omap4460上的移植,发现开发板能发送数据,但是接受不到数据

热门文章

  1. linux停机命令shutdown,linux下使用shutdown命令关机,提示: command not found (转)
  2. Java 三目运算 NullPointerException
  3. ssh 删除文件夹 命令
  4. python:将.py文件转换成.exe文件
  5. 5分钟熟悉“单臂路由”(超详细解读,看到就是赚到)
  6. IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?
  7. C/C++语言 Windows API更改文件、文件夹或注册表权限的所有者
  8. 面试算法 井字游戏 算法:暴力算法
  9. 虚拟化之虚拟化介绍,Virsh管理
  10. 中小企业如何做网络营销