shell编程:expr的数学运算】的更多相关文章

1.语法格式: 第一种:expr $num1 operator $num2 第二种:$(($num1 operator $num2)) 2.expr 操作符: 注意:这里比较为true,返回 1.只支持整数. 3.实际使用,比较时必须有空格 在实际使用过程中,类似于“|” 这样的管道符号要进行转义,如下: num1=100 num2=200 expr $num1 \| $num2 expr $num1 \& $num2 expr $num1 \< $num2 expr $num1 \<…
shell编程系列5--数学运算 方法1 expr $num1 operator $num2 方法2 $(($num1 operator $num2)) expr操作符对照表1 操作符 含义 num1 | num2 num1不为空且非0,返回num1;否则返回num2 num1 & num2 num1不为空且非0,返回num1:否则返回0 num1 < num2 num1小于num2,返回1:否则返回0 num1 <= num2 num1小于等于num2,返回1:否则返回0 num1…
shell中的赋值和操作默认都是字符串处理,在此记下shell中进行数学运算的几个特殊方法.以后用到的时候能够来看,呵呵 1.错误方法举例 a) var=1+1 echo $var 输出的结果是1+1,悲剧,呵呵 b) var=1 var=$var+1 echo $var 输出结果是1+1.依旧悲剧,呵呵 2.正确方法 1)使用let var=1 let "var+=1" echo $var 输出结果为2.这次没有悲剧 注意: a)经我測试let差点儿支持全部的运算符,在网上看到一篇文…
主要包括以下3种 字符串操作数学运算浮点运算 一.字符串操作 字符串的连接 连接字2个字符串不需要任何连接符,挨着写即可 长度获取 expr length "hello" expr length "$str" 变量名必须放在双引号里,否者语法错误 查找字符串中字符的位置 expr index "$str" CHARS 第一个是从1 开始的,查找不到返回 0 ,返回匹配到的第一个字符的位置 [root@localhost110 ~]# echo $…
shell中的数学运算有三种方式: (1)let,用let的时候,变量名称前不用添加$ (2)[],[]中变量可使用也可不使用$ (3)(())变量名之前必须添加$…
运算符两种方式 方式一:expr $num1 operator $num2 方式二:$(($num1 operator $num2)) (方式二在运算符“=”时候会出错) 1+2.sh 这个代码有点问题,尚没有解决 while true do read -p "please input a positive number:" num expr $num + &> /dev/null ];then ` -eq ];then ;i<=$num;i++)) do sum=…
目录 常见的运算符 expr命令 @(Shell中变量的数学运算) 常见的运算符 环境变量 说明 + 加 - 减 * 乘 / 除 % 取模 因为Shell中将*作为通配符使用, expr命令 expr命令可以对整数进行算术运算,在算术表达式中如果出现变量,必须在变量前加$,并且要在运算符和变量之间要加空格 expr空格9空格+空格$a 若要在Shell脚本中获取expr的计算结果,需要将expr命令用倒括号`括起来 如下图: ## let命令 let命令可以进行算术运算,将算术表达式跟在let后…
首先声明:本人是传智播客的粉丝,拥有他出的多本编程书籍,此文绝无诋毁抹黑之意. 但在linux系统编程第88页给出的while循环范例中,代码运行无法得到预期结果 原代码如下 #!/bin/sh sum= count= ] do sum='expr $sum+$count' count='expr $count + 1' done echo "sum=$sum" exit 0 书中给出的结果是5050,显然这是一个从1循环到100的加运算 but 事实很打脸,运行后始终提示: 修改后的…
通常情况做简单的运算,很多命令里面都是支持的.比如for, awk等. #!/bin/bash num= #for循环这里的数字也是运算 #也可以使用 #也可以使用数组 ;i<=;++i)) do ##整数运算 num=$[i*/] echo $num done 做一些复杂的操作就需要使用bc命令,比如浮点数运算,进制转换等. #!/bin/bash num=$[/] #结果是0 #bc 除了 scale 来设定小数位之外,还有 ibase 和 obase 来其它进制的运算 echo "i…
shell中要进行数学运算通常有3中方法: expr命令 比如 expr 1 + 6就会返回7,使用expr的缺点就是碰到乘法运算,或者加括号(因为它们在shell中有其他意义),需要使用转义,比如:expr \( 2 + 3\)  \* 5,这样就会使得表达式很难看 $[expression]命令 使用$[expression]命令也可以进行数学计算,并且比expr方便的是*和括号可以不用转义,比如仍然计算(2 + 3) * 5,可以直接写为: result=$[ (2 + 3) * 5 ]…