LinuxShell算术运算

Bash shell 的算术运算有四种方式:
1:使用 expr 外部程式

加法 r=`expr 4 + 5`
echo $r
注意! ‘4‘ ‘+‘ ‘5‘ 这三者之间要有空白
r=`expr 4 * 5`
#错误
乘法 r=`expr 4 \* 5`

2:使用 $(( ))
r=$(( 4 + 5 ))
echo $r

3:使用 $[ ]

r=$[ 4 + 5 ]
echo $r

乘法
r=`expr 4 \* 5`
r=$(( 4 * 5 ))
r=$[ 4 * 5 ]
echo $r

除法
r=`expr 40 / 5`
r=$(( 40 / 5 ))
r=$[ 40 / 5 ]
echo $r

减法
r=`expr 40 - 5`
r=$(( 40 - 5 ))
r=$[ 40 - 5 ]
echo $r

求余数
r=$[ 100 % 43 ]
echo $r

乘幂 (如 2 的 3 次方)
r=$(( 2 ** 3 ))
r=$[ 2 ** 3 ]
echo $r
注:expr
沒有乘幂

4:使用let 命令
加法:
n=10
let n=n+1
echo $n #n=11

乘法:
let m=n*10
echo $m

除法:
let r=m/10
echo $r

求余数:
let r=m%7
echo $r

乘冪:
let r=m**2
echo $r

虽然Bash shell
有四种算术运算方法,但并不是每一种都是跨平台的,建议使用expr。
另外,我们在 script
中经常有加1操作,以下四法皆可:
m=$[ m + 1]
m=`expr $m + 1`
m=$(($m +
1))
let m=m+1

时间: 2024-10-14 08:05:02

LinuxShell算术运算的相关文章

linux--shell编程(三)条件判断及算术运算

练习:写一个脚本判断当前系统上是否有用户的默认shell为bash: 如果有,就显示有多少个这类用户:否则,就显示没有这类用户: #!/bin/bash # grep '\<bash$' /etc/passwd &> /dev/null RETVAL=$? if [ $RETVAL -eq 0 ]; then USERS=`grep "\<bash$" /etc/passwd | wc -l` echo "hava $USERS users use

shell中如何进行算术运算

A=3 B=6 let 算术运算表达式  let C=$A+$B $[算术运算表达式]  C=$[$A+$B] $((算术运算表达式))  C=$(($A+$B)) expr 算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用 C=`expr $A + $B`

03 php 数据类型:整数,进制转换,浮点,字符,布尔,数组,空类型,类型转换,算术运算,比较运算

03 数据类型:整数,进制转换,浮点,字符,布尔,数组,空类型,类型转换, 算术运算,比较运算,逻辑运算,短路现象, 三目运算符,字符型运算: 数据类型 整体划分 标量类型: int, float, string, bool 复合类型: array,     object 特殊类型: null,     resouce 整数类型int, integer 3种整数表示法 十进制写法:123: $n1 = 123; 八进制写法: 0123 $n2 = 0123; 十六进制写法: 0x123 $n3

Linux学习记录-数字比较-if语句-算术运算

整数比较 -eq:等于 -nq:不等 -gt:大于 -lt:小于 -ge:大于等于 -le:小于等于 用法: A=3 B=4 [ $A -eq $B ] echo $? 逻辑与:&& 逻辑或:|| 变量名称: 1.只能包含字母.数字.下划线,并且不能数字开头 2.不应该跟系统中已经有的环境变量重名 3.最好做到见名知义 单分支if语句 if 判断条件: then statement1 statement2 .. fi 双分支的if语句 if判断条件:then statement1 stat

C指针解析 ------ 指针的算术运算

本文是自己学习所做笔记.欢迎转载.但请注明出处:http://blog.csdn.net/jesson20121020 指针是一个特殊的变量,表示一个地址,而地址能够上减去或加上一个整数,从而能够表示新的地址. 以下通过一段代码来分析指针的算术运算: #include <stdio.h> int main(){ int i; char str[]={'a','b','c','d','e'}; int *p = str; char *q = str; q++; p++; printf("

Bash shell 的算术运算有四种方式

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1:使用 expr 外部程式加法 r=`expr 4 + 5`echo $r注意! '4' '+' '5' 这三者之间要有空白r=`expr 4 * 5` #错误乘法 r=`expr 4 \* 5`~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~2:使用 $(( ))r=$(( 4 + 5 ))echo $r~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~3:使用 $[ ]r=$[ 4 + 5

linux--shell错误:syntax error near unexpected token ‘(&#39;

这几天编写了几个简单的shell程序,然后都出现了syntax error near unexpected token '(' 的错误,然后实在是检查不出错误:后面百度了才找到的原因: 之前错误的程序片段如下: usr=$ (whoami) dr=$ (pwd) 提示的错误如下: syntax error near unexpected token '(' 后面才知道原来是$ 与左括号之间多了一个空格,改正以后程序就正常运行了. 其实上面usr=$(whoami)等价于 usr=`whoami`

1.3 算术运算和逻辑运算

1. 算术运算要点 (1)移位操作 ① 原码移位:原码进行算术左移和算术右移都不改变原码本身形态.左移一位相当于乘以 2,右移一位相当于除以 2,移位出现的空位补 0.这是因为原码与二进制数真值的绝对值是完全一样的,算术移位并不涉及数的符号. ② 补码移位:由于正数的补码与原码是一样的,所以正数的补码左.右移位所出现的空位补 0 均不会改变补码的形态.值得注意的是负数补码的移位,当负数的补码右移时所出现的空位必须补 1 才能保证数值的正确及形体的保持. ③ 反码移位:由于正数的反码与原码相同,所

bash脚本编程之变量、变量类型、条件测试、算术运算、及特殊变量

一.学习目的 1.了解bash脚本的变量类型及变量的使用 2.了解bash中条件测试的种类及如何在bash中实现条件的判断 3.学会在bash中做算术运算 4.了解特殊变量的使用 二.学习内容 1). ①.bash的变量类型: 环境变量 .本地变量.局部变量.位置变量.特殊变量 环境变量: export VALUENAME = VALUE 作用领域是当前的shell进程及其子进程 本地变量: VALUENAME= VALUE 作用领域为整个bash的进程 局部变量:local VALUENAME