首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | 镜像站
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>编程开发>其他编程>正文

Linux 脚本里计算加减乘除及expr命令

http://www.oklinux.cn  2008-08-24  linuxidc   会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

Linux下面计算加减乘除,其实也就是一个小程序,名字是”expr”。这个程序很好用,不过有一点需要注意,就是不要忘了使用空格和转义,比如计算两个数的乘法,应该这样写:

expr 1024 \* 1024

其实还是很简单的,这儿有份不错的参考文档,这个程序可不光能计算加减乘除哦,很多表达式,他都可以计算出结果。

expr 命令:

用途

求表达式变量的值。

语法

expr Expression

描述

expr 命令读入 Expression 参数,计算它的值,然后将结果写入到标准输出。

您必须对 Expression 参数应用下列规则:

用空格隔开每个项。

用 \ (反斜杠) 放在 shell 特定的字符前面。

对包含空格和其他特殊字符的字符串要用引号括起来。

整数前面可以放一个一元连字符。在内部,整数被当作 32 位,双互补数。

注意:expr命令返回一个 0 来指示一个零值,而不是空字符串。

下列项描述了 Expression 参数的运算符和关键字。需要转义的字符由一个 \ (反斜杠) 放在前面。这些项按照优先权递增的顺序列出,具有相等的优先权的运算符分组在 {} (大括号) 中:

Expression1 \| Expression2 返回 Expression1如果它不是空值或者 0 值的话,否则返回 Expression2。

Expression1 \& Expression2 返回 Expression1如果两个表达式都不是空值或者 0 值,否则返回一个 0 值。

Expression1 { =, \>, \>=, \<, \<=, != } Expression2 如果两个表达式都是整数,返回整数比较的结果;否则它返回的是字符串比较的结果。

Expression1 { , - } Expression2 整数值变量的加或者减。

Expression1 { \*, /, % } Expression2 整数值变量的乘、除或者提供除法的余数。

Expression1 : Expression2 将 Expression1 的运算得到的字符串与 Expression2 的运算结果的正则表达式模式进行比较。正则表达式语法与 ed 命令相同,除了所有的模式固定到字符串的开始之外(也就是说,只有以字符串的第一个字符开始的序列才被正则表达式匹配)。因此 ^ (插入符号) 在这种情况下就不是特殊字符。

一般地,匹配运算符返回匹配的字符个数(失败的时候返回 0)。如果模式包含了一个子表达式,也就是:

\( Expression \),那么会返回包含了实际匹配的字符的字符串。

整理序列可以定义在字符范围内使用的等价类。

注意: 下列字符串变量会超过标准,其行为可能在不同的操作系统中会有不同。这些字符串变量是“不”可移植的。

match String1 String2 与 Expression1 : Expression2 相同。

length String1 返回 String1 的长度。

index String1 String2 返回 String1 中包含 String2 中任意字符的第一个位置。

substr String1 StartPosition Length

返回一个以 StartPosition 的字符开始的在 String1 中的字符串,并且是 Length 长度的字符串。

退出状态

此命令返回下列出口值:

0 Expression 参数运算值既不为空也不为 0。

1 Expression 参数的计算值或者为空或者为 0。

2 Expression 参数是不合法的。

>2 发生错误。

注意:在 shell 处理完参数后,expr 命令除了利用数值外不能区分运算符和操作数。因此,如果 $a 的值是 j 的话,命令:

expr $a = j就像:

expr j = j在 shell 将所有的参数都传给 expr 命令之后。下列情况也为真:

expr X$a = Xj示例

要修改一个 shell 变量,请输入:

COUNT=`expr $COUNT 1`这会加 1 到 shell 变量 $COUNT 上。 expr 命令以 grave accent 包装,这会导致 shell 将 expr 命令的标准输出替换到 COUNT= 命令的标准输出。$COUNT 变量使用前必须初始化。

共3页: 上一页 1 [2] [3] 下一页

上一篇:Linux网络程序碰到的一些问题手记   下一篇:Linux串口读取GPS数据例程

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Linux网络程序碰到的一些问题手记
·Linux串口读取GPS数据例程
·Linux内核编程职业前景浅谈
·对Linux文件名中有“-”的操作
·Linux下批量删除空文件(大小等于0的文件)的方法
·Linux下C/C IDE比较——Code::Blocks
·Linux下C网络编程(socket)
·Linux下用for循环卸载openoffice
·Ubuntu 下搭建 Rails 开发环境
·Ubuntu 8.04驱动开发环境
·Ubuntu升级内核手记
·关于Linux终端的显示
·Linux时间函数的应用
·在Ubuntu中用cron实现代码自动编译
·Linux触摸屏驱动解析
·移植FFmpeg到DaVinci开发环境上
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Linux下C/C IDE比较——Code::Blocks
·Linux下批量删除空文件(大小等于0的文
·对Linux文件名中有“-”的操作
·Linux内核编程职业前景浅谈
·Linux串口读取GPS数据例程
·Linux网络程序碰到的一些问题手记
·Linux下C网络编程(socket)
·Linux下用for循环卸载openoffice
·Ubuntu 下搭建 Rails 开发环境
·Ubuntu 8.04驱动开发环境
·Ubuntu升级内核手记
·关于Linux终端的显示
  阅读排行
·开源空间 网络安全工具开发函数库Libne
·Linux下Qtopia Core 4.3(QT/E)交叉编译
·Linux编程时获取当前时间实例解析
·Linux环境下OpenGL编程学习
·Linux socket编程实例:echo服务器程序
·升级Redhat Linux 9.0内核有感
·GNU/Linux应用程序编程:用管道进行编
·Linux中断处理学习笔记
·Linux系统中限制用户进程CPU及内存占用
·解决Linux中Matlab中文乱码问题
·Linux下安装g77 fortran complier过程
·Linux环境下Wine的中文显示以及freetyp
·Linux多线程编程学习之线程同步
·SUSE Linux中安装Quartus 7.2过程笔记
·Linux环境下重新编译GCC-4.3.0
网摘收藏: