码迷,mamicode.com
首页 > 其他好文 > 详细

[shell]shell运算

时间:2014-08-20 12:33:22      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:style   blog   使用   strong   2014   div   linux   log   

算术运算

首先这里所说的算术运算是指加法(+), 减法(-),乘法(*),整除(/), 求余(%)四种运算,可以通过添加括号改变优先级,并且只能对整数进行运算(Linux Bash Shell默认不支持浮点数运算)

#!/bin/bash

val=`expr 2 + 2` #expr 参数要为整数
echo "Total value : $val"

a=10
b=-5
c=`expr $a + $b` #+前后空一格,否则输a+b=10+20
echo "a+b=$c"

c=`expr $a - $b`
echo "a-b=$c"

c=`expr $a \* $b` #必须在*前加\才能实现乘法,因为 * 有其它意义
echo "a*b=$c"

c=`expr $a / $b`
echo "a/b=$c"

if [ $a == $b ] #在[]和==前后要有一空格,且必须有[]
then
    echo "a = b"
fi

if [ $a != $b ]
then  #then需要另启一行,不能与if在同一行
    echo "a!=b"
fi

let "sum=3+6"
echo $sum

sum=$(( 7 * 8 ))
echo $sum
要在Linux Bash Shell中进行算术运算,有三种写法

一、使用let命令 

let "sum=3+5"    # sum <- 8
let "sum=3*5"    # sum <- 15 
let "sum=2/5"    # sum <- 0 
let "sum=11/5"   # sum <- 2 
let "sum=11%5"   # sum <- 1 
let "sum=-6-9"   # sum <- -15
let "sum=(-6-9)*5"  # sum <- -75

注意, 等号右边以及运算符和括号的两边都不能有空格

二、使用expr命令  

sum=`expr 2 - 5`     # sum <- -3
sum=`expr 2 + 5`     # sum <- 7 
sum=`expr 3 \* 5`    # sum <- 15
sum=`expr 3 / 5`     # sum <- 0 
sum=`expr 7 / 5`     # sum <- 1
sum=`expr \( 2 - 3 \) \* 6`   # sum <- -6 
sum=`expr 2+4`       # sum <- 2+4
sum=`expr 2-4*6·     # sum <- 2-4*6
sum=`expr 1-(5-8)`   # sum <- 1-(5-8)
注意: 乘号(*), 左括号( , 右括号)必须使用反斜杠(\)转义expr右边以及运算符和括号的两边必须有空格; 如果采用紧凑的写法(紧凑格式可以不对*, (, )进行转义), 则返回算术表达式.

三、使用(( ... )) 的形式  

sum=$((3+5))           # sum <- 8 
sum=$(( 3 - 5 ))       # sum <- -2 
sum=$(( 3 * 5 ))       # sum <- 15
sum=$(( 7 / 5 ))       # sum <- 1 
sum=$(( 7 % 5 ))       # sum <- 2 
sum=$(( (1 - 2 )  * 4 ))   # sum <- -4

这种写法比较自由,无需对运算符和括号做转义处理,也可以采用松散或紧凑的格式. 

布尔运算

#!/bin/sh
a=10
b=200
#-o	 或运算 or 
#-a	 与运算 and
if [ $a != $b ]
then
   echo "$a != $b : a is not equal to b" 
fi

if [ $a -lt 100 -a $b -gt 15 ]
then
   echo "$a -lt 100 -a $b -gt 15 : returns true" 
fi

if [ $a -lt 100 -o $b -gt 100 ]
then
   echo "$a -lt 100 -o $b -gt 100 : returns true" 
fi 


[shell]shell运算,布布扣,bubuko.com

[shell]shell运算

标签:style   blog   使用   strong   2014   div   linux   log   

原文地址:http://blog.csdn.net/shimazhuge/article/details/38703523

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!