linux shell 逻辑判断
下面是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 逻辑判断相关推荐
- linux shell 逻辑判断 [] [[]] -n -z 用法区别
1.在中括号中,判断变量的值, 加不加双引号的问题? -z 判断 变量的值,是否为空: zero = 0 - 变量的值,为空,返回0,为true - 变量的值,非空,返回1,为false -n 判断变 ...
- linux复杂逻辑判断,20.5 shell脚本中的逻辑判断
shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 格式2:if 条件; then 语句; else 语句; fi 格式3:if -; then - ;elif -; then ...
- Linux shell的简单学习
Linux shell的简单学习 shell script 其实就是纯文本档,我们可以编辑这个档案,然后讥这个档案来帮我们一次执行多个指令, 戒者是刟用一些运算不逡辑刞断来帮我们达成某些功能. Lin ...
- linux shell脚本
一:if的使用 linux shell 之if-------用if做判断_51CTO博客_shell if判断 1.字符串判断 str1 = str2 当两个串有相同内容.长度时为真 str1 != ...
- linux shell脚本学习
linux shell脚本学习笔记 文章目录 linux shell脚本学习笔记 一.脚本入门 1.我的第一个linux脚本 2.关于date命令的知识 二.shell脚本中的变量 1.为什么脚本需要 ...
- 第一章 Linux及Linux Shell简介
1.1 关于Linux 1.1.1 什么是Linux Linux是自由开源的类Unix操作系统.该操作系统的内核是由莱纳斯·托瓦兹在1991年10月5日首次发布. 严格来讲,术语Linux只表示操作系 ...
- linux shell 脚本编程基本语法
linux shell脚本编程基本语法 Shell script是利用shell的功能所写的一个"程序",这个程序是使用纯文本文件,将一些Linux Shell的语法与命令(含外部 ...
- Linux Shell if判断
0 前言 Shell编程常用到条件条件判断,本文总结其语法和重要参数. 1 语法 可以使用test或者[来进行[条件判断,下面的两个代码片段是等价的: if test -f file.c; then ...
- linux shell $0怎么输出,linux shell中$0,$?,$!等的特殊用法
一.Shell脚本中$0.$?.$!.$$.$*.$#.$@等的意义说明 (1)$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号) (2)$! Shell最后运行的后台Pr ...
最新文章
- textarea 固定大小,滚动条,限制拖动,文字对齐
- DOM相关方法,属性整理
- 用JS制作一个信息管理平台完整版
- 不属于python的数据类型_下列________不是Python的数据类型。
- ajax获取session值_cookie和session基础知识学习
- 横版网页游戏【一骑当先】地图原画资源
- 程序员怎样学习python_一个开发十年的程序员论:学习Python最正确的步骤(0基础必备)...
- 网络性能测试工具iperf的安装与使用
- 利用东方财富网获取股票代码
- 国家级精品课程 电子资源 网址
- 超级详细Window10安装Java JDK 和配置开发环境
- 华为mate40e灭屏显示教程
- 安卓10.1寸大屏车载导航
- Android 将文本和图片写入到pdf文件以及读取手机里的pdf文件
- linux系统的6000端口是什么,3种关闭linux系统端口方法
- java 与数据库连接失败_java链接不上数据库,怎么解决!
- 手机设置代理后无法上网
- 【彻底解决】谷歌或Edge浏览器登录谷歌账户提示浏览器不安全请重新登录
- linux获取偶数行内容,linux命令(39):shell 打印偶数行,奇数行 ,行号
- ks8851网卡驱动在omap4460上的移植,发现开发板能发送数据,但是接受不到数据
热门文章
- linux停机命令shutdown,linux下使用shutdown命令关机,提示: command not found (转)
- Java 三目运算 NullPointerException
- ssh 删除文件夹 命令
- python:将.py文件转换成.exe文件
- 5分钟熟悉“单臂路由”(超详细解读,看到就是赚到)
- IM系统的MQ消息中间件选型:Kafka还是RabbitMQ?
- C/C++语言 Windows API更改文件、文件夹或注册表权限的所有者
- 面试算法 井字游戏 算法:暴力算法
- 虚拟化之虚拟化介绍,Virsh管理
- 中小企业如何做网络营销