shell中的expr命令
expr 可以进行的操作如下:
逻辑操作
arg1 | arg2 逻辑或操作,真则返回arg1,否则返回arg2(以null或者0来判断参数的真假,有短路功能)
arg1 & arg2 逻辑与操作,真则返回arg1,否则返回arg2(以null或者0来判断参数真假,有短路功能)
关系操作
arg1 = arg2(或者arg1 == arg2)相等返回1,不等返回0
arg1 != arg2 不等返回1,相等返回0
arg1 > arg2 大于返回1,否则返回0
arg1 >= arg2 大于等于返回1,否则返回0
arg1 < arg2 小于返回1,否则返回0
arg1 <= arg2 小于等于返回1,否则返回0
需要注意的是在关系操作附中,只有所有的参数都是数值才按数值比较,否则,按字典顺序比较
算数操作
arg1 + arg2
arg1 - arg2
arg1 * arg2
arg1 / arg2
arg1 % arg2
需要注意的是*在shell有其他意义,因此需要转义使用\*
字符串操作
STRING : REGEXP
1) REGEXP代表正则表达式,并且该表达式隐含带有^,即REGXP就是^REGEXP;
2) 如果REGEXP中没有\(和\),那么返回匹配的字符个数,或者完全不匹配返回0;如果带有\(或者\),那么就返回\(和\)包含的字符串,或者不匹配返回null
match STRING REGEXP
类STRING : REGEXP相同
substr STRING POSITION LENGTH
返回从POSITION(从1开始),长LENGTH的子字符串,如果POSITION和LENGTH为0,负数,或者非负数,那么返回null
index STRING CHARSET
CHARSET中可以包含多个字符,但是只是返回第一个在STRING中字符的位置,如果CHARSET中的字符都不在STRING中,那么返回0
length STRING
返回STRING的长度
+ TOKEN
将TOKEN解释为字符串,即使TOKEN是关键字,比如expr index index n,由于第二个index是expr语法的关键字,因此会报错,处理的方式就是如下处理:expr index + index n
所有上面表达式需要注意的是,操作符两边一定要有空格。
shell中的expr命令的更多相关文章
- linux shell 中的sleep命令
开始还以为是这样的语法: sleep(1), 后面发现是: linux shell 中的sleep命令 分类: LINUX 在有的shell(比如linux中的bash)中sleep还支持睡眠(分,小 ...
- Linux在shell中输入历史命令
在Linux的shell中,经常输入的命令有很多雷同,甚至是一样的, 如果是长命令,再次敲一遍效率真的是很低, 不过可以通过Ctl+r, 查找history中以前输入的命令,很是好用. 按Ctrl+ ...
- 在shell中使用sed命令替换/为\/
sed命令相关: https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html https://www.cnblogs.com/D ...
- shell中使用expect命令进行远程执行命令脚本
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚 ...
- Shell 中的 expect 命令
目录 expect 介绍 expect 安装 expect 语法 自动拷贝文件到远程主机 示例一 示例二 示例三 示例四 expect 介绍 借助 expect 处理交互的命令,可以将交互过程如 ss ...
- 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令
最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...
- shell中的ps命令详解
ps简介:Linux中的ps命令是Process Status的缩写.ps命令用来列出系统中当前运行的那些进程.ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的 ...
- shell中判断前一个命令是否执行成功
]; then echo "fail" else echo "success" fi 或者 ]; then echo "success" e ...
- shell中常用的命令方法
<1>Linux Shell 脚本中字符串的连接方法 [root@localhost company]# var1=/etc/[root@localhost company]# var3= ...
随机推荐
- Installation error: INSTALL_CANCELED_BY_USER
这个错误,从字面上理解,就是已经安装的时候被用户取消了. 我出现这个错误的时候,是手机连接在电脑上的. 经过网上搜索,确认这是安装apk到手机时,被手机取消了安装操作. 1. 确保手机处于开发者模式. ...
- Unsupported major.minor version 52.0 处理方式
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/globalroam/openstac ...
- Oracle11g R2学习系列 之四Maven+Struts+Spring实验
今天试一下Java调用Oracle来看一下.会不会也如昨天实验的一样坑呢?由于我对于Java也接触的不多,所以不打算直接使用该收提供的实验文档,而是自己利用Maven+Struts+Spring来自己 ...
- sql 删除两条完全相同的记录
delete a from ( select *,ps=row_number()over(PARTITION by cCaption order by getdate()) from AA_Colu ...
- 当list中有中文,打印的时候显示为字符编码的问题
当list中有中文时,print list显示的会是字符编码,比如: 用str()当然也不行: 在不安装其他包的情况下,目前我知道的解决办法是使用decode('string_escape'),如下:
- 函数:灵活即强大 - 零基础入门学习Python018
函数:灵活即强大 让编程改变世界 Change the world by program 上节课我们基本介绍了Python函数的用法,非常简单.这节课我们主要针对函数的参数和返回值进一步深入学习.学习 ...
- CoreData学习-最好的一片文章
CoreData学习-最好的一片文章 分类: IOS重新上路2014-05-25 18:00 1937人阅读 评论(0) 收藏 举报 目录(?)[+] 写的很好的一篇教程,我什么时候能写出这么 ...
- CloudStack API编程指引
原文地址:https://cwiki.apache.org/confluence/display/CLOUDSTACK/CloudStack+API+Coding+Guidelines 前言 本文阐述 ...
- Liunx+C编程一站式学习
Liunx+C编程一站式学习这本书有什么特点?面向什么样的读者?这本书最初是为某培训班的嵌入式系统Linux工程师就业班课程量身定做的教材之一.该课程是为期四个月的全日制职业培训,要求学员毕业时具备非 ...
- Keil C51里关于堆栈指针的处理
Keil C是非常优秀的C51编译器,可能是最好的C51编译器,提供各种优化模式,对变量的优化和地址安排做得非常好.这是用C语言写代码的好处之一,如果用汇编写,得费一大番功夫给各个变量安排内存物理地址 ...