Shell expr的用法

数学运算

let命令  expr命令  bc命令  $(())   $[]

http://www.80ops.cn/archives/245.html

expr命令一般用于整数值,但也可用于字符串。

一般格式为:expr argument operator argument
expr也是一个手工命令行计数器。
expr 10 + 10 等价于 echo 10 + 10|bc
20
expr 1500 – 900 等价于 echo 1500 – 900 |bc
2400
expr 30 / 3 等价于 echo 30 / 3|bc
10
expr 30 / 3 / 2 等价于 echo 30 / 3 / 2 |bc
5
(注意运算符左右都有空格 ,如果没有空格表示是字符串连接)
使用乘号时,必须用反斜线屏蔽其特定含义。因为shell可能会误解显示星号的意义。
expr 30 \* 3 等价于 echo 30 \* 3 |bc
90
对于四则运算赋值操作
val2=10
val1=$(($val2 – 1)) 等价于 val1=$(expr $val2 – 1) 等价于 val1=$(echo $val2 – 1|bc)
echo $val1

写法也是比较多的

expr最重要的还是强大的字符串操作

1、提取指定字符的下标:expr index 内容 字符

例如
ind=`expr index "69lki" "k"`
echo $ind
4

ind=`expr index "69lki" "k"`
echo $ind
4

2、提取字符串的子串:expr substr 内容 起始位置 终点位置

例如
con=`expr substr "689sdfwe" "1" 3`
echo $con
689

con=`expr substr "689sdfwe" "1" 3`
echo $con
689



ash Shell let命令 (2008-10-21 10:18:43)转载▼

http://blog.sina.com.cn/s/blog_5ac88b350100arnv.html
标签: 杂谈
整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 x 加 1 可以写作:let "x = $x + 1" 或者 x=`expr $x + 1‘,个人感觉,二者差不多,前者表达比较简单,择优用之

在bash中,let可以用来做数值运算
bash-2.05b$ export n=20
bash-2.05b$ n=n+1
bash-2.05b$ echo $n
n+1
n+1并没有按照数字处理,而是安装字符串串连处理
这时候如果想实现n按照数值进行相加,则就需要let出手了
bash-2.05b$ export n=20
bash-2.05b$ let n+=1
bash-2.05b$ echo $n

在Bash Shell中,只能进行两个整数间的运算,其结果仍为整数.要进行算术
运算,需要使用let命令,语法为:
let expr
expr是一个包含项和操作符的表达式,项可以是一个变量或是一个整数常数,
当使用整数常数时,其默认为十进制整数,用户可以用radio#number来指定其它
形式的整数,其中radio定义了整数是几进制表示的,number是该整数的值.若
radio>10,那么数字字符可从0-9和A-Z.
在表达式中支持的操作符及其含义为:
+,-,*,/,% 加,减,乘,除,取模
>>,<<,&,^,| 左移,右移,位与,位异或,位或
?: 三元运算符.与C语言中的定义一致
~ 取补码
!,>=,<=,>,<,==,!=,&&,||
=,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=
表达式式中也可以使用括号.括号或运算优先级的定义与一般计算机语言中的
相同.
let命令具有返回值.当计算结果(若有多个表达式时,以最后一个为准)为0时,
返回值为1,否则为0.
当表达式中含有shell的特殊字符(如|)时,需要用引用符(‘或")将其引用起来.
使用let时还需要注意的时,对于let x+y这样的式子,shell虽然计算了x+y的值
但却将结果丢弃,若不想这样,可以使用let sum=x+y将x+y的结果保存在变量sum中
另外还可以使用((和))操作符取代let命令,而且这样的话,还可以省去对算术
表达式的引用,如果想返回表达式的值,则需用$(())的格式.

if的条件中,“=”用于比较字符串;“-eq”用于比较整型数。

时间: 2024-08-18 18:00:37

Shell expr的用法的相关文章

linux shell expr 使用

linux shell expr 使用 收藏人:春秋百味 2014-03-21 | 阅: 转: | | 分享 非原创, 摘自:<LINUX与UNIX Shell编程指南> 17.5 expr用法 expr命令一般用于整数值,但也可用于字符串.一般格式为: expr argument operator argument expr也是一个手工命令行计数器. # expr 10 + 10 20 # expr 1500 + 900 2500 # expr 30 / 3 10 # expr 30 / 3

一点一滴学shell-Shell expr的用法 (转)

原文链接:http://desheng666.blog.163.com/blog/static/4908408220121643953425/ expr命令一般用于整数值,但也可用于字符串.一般格式为:expr argument operator argumentexpr也是一个手工命令行计数器.$expr 10 + 1020$expr 1500 + 9002500$expr 30 / 310$expr 30 / 3 / 25(注意运算符左右都有空格 ,如果没有空格表示是字符串连接)使用乘号时,

HBase基本概念和hbase shell常用命令用法

1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 2. HBase的表结构 HBase以表的形式存储数据.表有行和列组成.列划分为若干个列族/列簇(column family). Row Key colu

shell相关的用法

shell相关的用法 if用法 -q不输出结果,只做判断 [[email protected] tmp]# if grep -q '^daixuan:' /etc/passwd; then echo "daixuan text" ;fi ,当/etcpasswd下包含daixuan,就输出daixuan test case用法 [[email protected] tmp]# vim case.sh #/bin/bash read -p "Please input a num

adb shell am 的用法

adb shell am 使用此命令可以从cmd控制台启动 activity, services:发送 broadcast等等: 1 C:\Users\Administrator>adb shell am 2 usage: am [subcommand] [options] 3 4 start an Activity: am start [-D] [-W] <INTENT> 5 -D: enable debugging 6 -W: wait for launch to complete

adb shell input的用法

最近做LCD模组的gamma自动化测试过程中用到了input命令,于是也来了解一下该命令的使用.在运行adb shell 后输入input后运行就会输出input的使用方法,如下: Usage: input [<source>] <command> [<arg>...] The sources are: trackball joystick touchnavigation mouse keyboard gamepad touchpad dpad stylus touch

【转载】HBase基本概念和hbase shell常用命令用法

1. 简介 HBase是一个分布式的.面向列的开源数据库,源于google的一篇论文<bigtable:一个结构化数据的分布式存储系统>.HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务. 2. HBase的表结构 HBase以表的形式存储数据.表有行和列组成.列划分为若干个列族/列簇(column family). Row Key colu

【shell】Linux shell中括号的用法

Linux shell中括号的用法 概述 本文主要介绍Linux中括号的用法,主要包含判断文件和变量. **注意事项**:中括号两边必须有空格. 使用中括号会涉及到的知识 &&.|| 在本文对文件或者变量做判断的时候,可能会多次使用到&&和||这两个符号,所以在我们进入中括号的学习之前首先了解一下这两个符号的作用. &&:并 --> 两真才为真,如果有两个条件,第一个为真,那么肯定会判断第二个条件:如果第一个条件为假,那么第二个条件将不会判断.(第一个

什么是shell,shell基础由浅入深,常用的shell命令、用法、技巧

Shell:可以批量处理.自动化完成一系列维护任务,大大减轻管理员的负担!Shell是一个特殊的应用程序,介于操作系统内核与用户之间,充当了一个"命令解释器"的角色.负责接收用户输入的操作指令,并进行解释,将需要执行的操作传递给内核执行,并输出执行结果. 如何查看系统所支持的Shell(默认为Bash): Shell脚本格式:由脚本声明.脚本注释.可执行语句构成:   Shell脚本执行方式:只要将平时使用的各种Linux命令按顺序保存到一个文本文件,然后添加可执行权限,这个文件就成为