shell 数学运算总结
# !/bin/bash
## 整数-算数运算
### 1. expr
r=`expr 4 + 5`
### Tips:1. '4''+''5'三者之间有空白
echo $r;
r=`expr 4 \* 5`
echo $r;
### Tips:2. *有特殊意义,应该用\取消*的特殊意义
### 2. $(())
r=$((4+5))
echo $r
### 3. $[]
r=$[4+5]
echo $r
### 4. let 命令
let r=4+5
echo $r
### 加减乘除
### 乘法
r=`expr 4 \* 5`
echo $r
r=$((4*5))
echo $r
r=$[4*5]
echo $r
let r=4*5
echo $r
n=10
r=`expr $n \* 5`
echo $r;
r=$(($n*5))
echo $r;
r=$[$n*5]
echo $r;
let r=n*5;
echo $r;
### 除法
r=`expr 40 / 5`
echo $r;
r=$((40/5))
echo $r;
r=$[40/5]
echo $r;
let r=40/5
echo $r
### 减法
r=`expr 40 - 5`
echo $r;
r=$((40-5))
echo $r;
r=$[40-5]
echo $r;
let r=40-5
echo $r;
### 模运算
r=$[100%43]
echo $r
r=$((100%43))
echo $r;
r=`expr 100 % 43`
echo $r;
### 幂运算
### expr没有乘幂
r=$((2**3))
echo $r;
r=$[2**3]
echo $r;
let r=2**3
echo $r;
## 浮点数-算数运算
### bash shell本身不具备浮点计算的能力,可以使用bc或者awk来处理
### variable=$(echo "[选项];操作" | bc [选项]) http://www.runoob.com/linux/linux-comm-bc.html
### scale表示输出中小数点后的精度
a=3
b=2
c=$(echo "scale=2; $a/$b" | bc)
echo $c
### ibase和obase表示输入和输出数据的进制
echo "ibase=2;111"|bc
echo "obase=2;192"|bc
### bc 将二进制转换为十进制,ibase必须在后面,否则无效
abc=11000000
echo "obase=10;ibase=2;$abc"|bc
### bc计算平方和平方根
echo "2^10"|bc
echo "sqrt(100)"|bc
### 浮点数比较
if [ $(echo "1.5 > 1"|bc) -eq 1 ]
then
echo "true"
fi
shell 数学运算总结的更多相关文章
- Linux Shell 数学运算
Linux Shell 数学运算 在Linux中直接使用数学运算符进行数学运算往往得不到我们想要的计算结果.要在Shell中进行数学运算,我们需要借助点小手段.目前,Linux Shell中进行数学运 ...
- shell 数学运算
数学运算之 expr expr操作符对照表 比较大小,只能对整数进行比较,需要加空格,linux 保留关键字要转义 num1=30 num2=50 expr $num1 \> $num2 查看上 ...
- shell数学运算
shell的数学运算 branches@ubuntu:~$ var1=$[ * ] branches@ubuntu:~$ echo $var1 branches@ubuntu:~$ var2=$[$v ...
- 7 shell 数学运算
shell中数学运算的易错点: 1.在 Bash Shell 中,如果不特别指明,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储.即使是将整数和小数赋值给变量,它 ...
- 【Linux】shell数学运算
在Bash shell环境中,可以利用let.(())和[]执行基本的算术操作.而在进行高级操作时,expr和bc这两个工具就特别有用 let的使用 Script01.sh #!/bin/bash # ...
- shell编程之数学运算
shell数学运算支持整数运算的四种方法 1.let命令 no1=4; no2=5; let result=no1+no2 2.[]操作符 result=$[ no1 + no2] 3.(())操作符 ...
- shell执行数学运算
整数: expr let $(()) $[] 浮点数: bc 1.使用expr ♦参与运算的成员和运算符之间必须有一个空格: ♦对于那些容易被shell错解的,在它们传入expr命令之前,需要使用sh ...
- Linux shell 变量 数学 运算
Abstract : 1) Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...
- 认真学习shell的第一天-数学运算
shell中的数学运算有三种方式: (1)let,用let的时候,变量名称前不用添加$ (2)[],[]中变量可使用也可不使用$ (3)(())变量名之前必须添加$
随机推荐
- asp.net <asp:Repeater>下的radio的单选使用
aspx页面 <asp:Repeater ID="rptData" runat="server"> <ItemTemplate> < ...
- cannot marshal None unless allow_none is enabled
今天运行一个launch文件的时候出现了以下报错 load_parameters: unable to set parameters (last param was [/robot_state_pub ...
- spring boot 开发 ajax返回值报错
org.thymeleaf.exceptions.TemplateInputException: Error resolving template "succeed", templ ...
- Android JNI学习(四)——JNI的常用方法的中文API
本系列文章如下: Android JNI(一)——NDK与JNI基础 Android JNI学习(二)——实战JNI之“hello world” Android JNI学习(三)——Java与Nati ...
- URAL 1183 Brackets Sequence
URAL 1183 思路:区间dp,打印路径,详见http://www.cnblogs.com/widsom/p/8321670.html 代码: #include<iostream> # ...
- SVN使用流程
- 图片保存到数据库以及C#读取图片
图片保存到数据库,如果是sqlserver就是Image类型,如果保存到Oracle就是blob类型,在c#中相对应的就是byte[]类型,同时只需要对读出的数据强制转换就行(byte[])objec ...
- C++STL3--queue
C++STL3--queue 一.心得 STL的这些东西用法都差不多 二.介绍 queue数据结构中的队列 priority_queue优先队列,插入进去的元素都会从大到小排好序 PS:在priori ...
- [Java学习] Java异常类型
所有异常类型都是内置类Throwable的子类.因此,Throwable在异常类层次结构的顶层.紧接着Throwable下面的是两个把异常分成两个不同分支的子类.一个分支是Exception. 该类用 ...
- rabbitmq 消息的状态转换
tutorial:http://www.rabbitmq.com/tutorials/tutorial-two-java.html 这里解释接收消息端关于 acknowledge和prefetch的设 ...