`

Linux Shell运算符总结

阅读更多

Linux Shell运算符

 

Shell中的运算符可分为算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符

 

1.算术运算符

 

a=2, b=1

Operator Description Example
+ 加法 `expr $a + $b` # 3
- 减法 `expr $a - $b` # 1
* 乘法 `expr $a \* $b` # 2, *需转义
/ 除法 `expr $a / $b' # 2
% 取余 `expr $a % $b' # 0
= 赋值 name=value
== 相等比较 [ $a == $b ] # false
!= 不等比较 [ $a != $b ] # true 

 

注意:条件表达式要放在方括号之间,并且要有空格,例如 [$a==$b] 是错误的,必须写成 [ $a == $b ]

2.关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字 

 

a=1, b=2

Operator Description Example
-eq 判断是否相等 [ $a -eq $b ] # false
-ne 是否不相等 [ $a -ne $b ] # true
-gt 是否大于 [ $a -gt $b ] # false
-lt 是否小于 [ $a -lt $b ] # true
-ge 是否大于等于 [ $a -ge $b ] # false
-le 是否小于等于 [ $a -le $b ] # true

 

 

3.布尔运算符

 

Operator Description Example
! 非运算 [ ! false ] 返回 true
-o 或运算 [ true -o false ] 返回true
-a 与运算 [ true -a false] 返回false

 

 

4.字符串运算符

 a=abc, b=def

Operator Description Example
= 是否相等 [ $a = $b ] # false
!= 是否不相等 [ $a != $b ] # true
-z 长度是否为0 [ -z $a ] # false
-n 长度是否不为0 [ -n $a ] # true
str 是否为空 [ $a ] # false

 

 

5.文件测试运算符

 

文件测试运算符用于检测 Unix 文件的各种属性

 

Operator Description Example
-b file 是否是块设备文件 [ -b $file ] 
-c file 是否是字符设备文件 [ -c $file ] 
-d file 是否是目录 [ -d $file ]
-f file 是否是普通文件(既不是目录,也不是设备文件) [ -f $file ] 
-g file 是否设置了 SGID 位 [ -g $file ] 
-k file 是否设置了粘着位(Sticky Bit) [ -k $file ]
-p file 是否是具名管道 [ -p $file ]
-u file 是否设置了 SUID 位 [ -u $file ]
-r file 是否可读 [ -r $file ]
-w file 是否可写 [ -w $file ]
-x file 是否可执行 [ -x $file ]
-s file 是否不为空(文件大小是否大于0), 不为空返回true [ -s $file ] 
-e file 文件(包括目录)是否存在 [ -e $file ] 
0
0
分享到:
评论

相关推荐

    linux shell 逻辑运算符

    linux shell 逻辑运算符 linux shell 逻辑运算符

    linux shell 指令(文件比较运算符,字符串比较运算符,算术比较运算符)

    linux shell 指令(文件比较运算符,字符串比较运算符,算术比较运算符)

    LINUX and SHELL 自学总结

    五、SHELL其它命令总结 7 1. #AWK命令用法 7 2. 搜索文件夹或文件命令 7 3. RPM解包和TAR解包 7 #rpm 强制安装 7 4. 统计某字符串数量 7 5. #DD命令使用总结 8 6. #REV 字符串反向命令 8 7. 变量截取 8 8. #UNIQ ...

    Linux Shell 逻辑运算符

    一、逻辑卷标  二、运算符号

    linux shell 逻辑运算符、逻辑表达式详细介绍

    一、逻辑运算符 逻辑卷标 表示意思 1. 关于档案与目录的侦测逻辑卷标! -f 常用!侦测『档案』是否存在 eg: if [ -f filename ] -d 常用!侦测『目录』是否存在 -b 侦测是否为一个『 block 档案』 ...

    7 shell运算符1

    声明Shell变量,初始化格式为“变量名=值”说明:若不带任何参数选项,则会显示所有 Shell 变量及其值declare 命令Linux操作系统网络安全与网络

    新版Linux Shell编程实训(全)20170518.docx

    项目五 Shell运算符 96 [学习目标] 96 任务5.1 Shell基本运算符 97 5.1.1 运算符 97 5.1.2 算术运算符 97 5.1.3 关系运算符 99 5.1.4 布尔运算符 101 5.1.5 逻辑运算符 103 5.1.6 字符串运算符 104 5.1.7 文件测试...

    linux shell编程[第一部分 shell 基础编程] 第02章 变量和运算符

    linux shell编程[第一部分 shell 基础编程] 第02章 变量和运算符

    shell浅谈之二 运算符和if条件判断

    Shell各种判断结构和运算符的用法是shell编程的基础,了解shell的判断、运算符和一些退出状态对后面的学习有很重要的影响。shell有一个内部命令test经常用于对判断语句进行测试一种或几种状态的条件是否成立

    LinuxShell编程

    Linux Shell编程基础知识 目 录1、 Shell简介1.1. 什么是shell1.2. shell分类2、 Shell语法2.1. 定义变量2.2. 变量类型2.2.1. 字符集变量2.2.2. 数字常量定义2.2.3. 数组2.2.4. 系统变量2.3. 运算符与表达式2.3.1. ...

    shell (bash) 比较运算符

    文件比较 -e filename 如果 filename 存在,则为真 [ -e /var/log/syslog ] 字符串比较 算术运算比较

    shell脚本学习手册

    Shell运算符 12 1、算术运算符 13 2、关系运算符 14 3、布尔运算符 15 4、逻辑运算符 15 5、字符串运算符 16 6、文件测试运算符 16 Shell echo命令 17 Shell printf命令 19 Shell text命令 22 Shell 流程控制 22 1、...

    Linux Shell 流程控制

    linux shell有一套自己的流程控制语句,其中包括条件语句(if),循环...  如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解  shell命令,可以按照分号分割,也可以按照换行符

    luisedware#Archives#Linux-Shell-基础之运算符1

    声明数组变量例子定义数组查看数组Shell 环境变量配置文件环境变量配置文件中主要是定义对系统操作环境生效的系统默认环境变量,如 PATH 等source 命令

    linux shell流程控制语句实例讲解(if、for、while、case语句实例)

    fi如果对于:条件测试语句不是很清楚,可以参考:linux shell 逻辑运算符、逻辑表达式详解shell命令,可以按照分号分割,也可以按照换行符分割。如果想一行写入多个命令,可以通过“’;”分割。如: 代码如下:...

    UNIX shell 编程指南

    linux shell 变量和运算符 执行Shell脚本的方式 [小函数]:bash版rev&tac shell编程走马观花系列(KSH下set选项) 文章出处:http://www.diybl.com/chm/htm/3_program/shell/shelljs/2008821/2008821102938.html

    菜鸟教程shell教程1

    Shell 教程Shell 变量Shell 传递参数Shell 数组Shell 运算符Shell echo命令Shell printf命令Shell test命

    linux-Shell基础视频教程

    10.5.1 Shell基础-Bash变量-数值运算与运算符.mp4 10.5.2 Shell基础-Bash变量-变量测试与内容替换.mp4 10.6.1 Shell基础-环境变量配置文件-简介.mp4 10.6.2 Shell基础-环境变量配置文件-作用.mp4 10.6.3 Shell...

    Linux学习笔记09 — 超详细shell脚本编程快速入门

    文章目录1.shell简介1)什么是shell2)shell脚本3)运行shell脚本4)...shell运算符1)shell运算符种类2)算数运算符3)关系运算符4)布尔运算符5)逻辑运算符6)字符串运算符7)文件测试运算符7.shell编程中的命令...

Global site tag (gtag.js) - Google Analytics