您的位置:首页 > 运维架构 > Shell

shell之运算符

2016-12-13 00:00 218 查看
一 算术运算符:

+ - * / %(取余) **(幂)

1.1 expr计算某个表达式值

expr expression(expr不能计算幂运算)

例子:

#!/bin/bash

#计算2和100的差,即-98

result=`expr 2 -100`

echo"$result"

#计算2和100的和,即102

result=`expr 2 +100`

echo"$result"

#计算2和5的乘积,即10

result=`expr 2 \*5`

echo"$result"

#计算24和8的商,即3

result=`expr 24 /8`

echo"$result"

#先计算2和6的差,然后再乘以12,即-48

result=`expr \( 2- 6 \) \* 12`

echo"$result"

#错误的语法,没有空格

result=`expr 2+5`

echo"$result"

#错误的语法

result=`expr2-4*9`

echo"$result"

#错误的语法

result=`expr1-(4-7)`

echo"$result"

1.2 用$(())计算:

#! /bin/sh

#紧凑格式,计算3和6的和

result=$((3+6))

echo"$result"

#松散格式,计算3和9的和

result=$(( 3 + 9))

echo"$result"

#计算3和6的乘积

reuslt=$(( 3 * 6))

echo"$result"

#计算7和5的商

result=$(( 7 / 5))

echo"$result"

#计算8和3的余数

result=$(( 8 % 3))

echo"$result"

#复合运算

result=$(( ( 1-4 )* 5 ))

echo"$result"

1.3 用$[ ]计算

#! /bin/sh

#加法运算

result=$[4+5]

echo"$result"

#复合运算

result=$[(1+2)*3]

echo"$result"

#幂运算

result=$[ 2 ** 4 ]

echo"$result"

1.4 用let命令计算

let命令可执行一个或多个算术表达式,变量名无需$,如果表达式有空格或其他特殊字符,引用起来。

#! /bin/sh

#定义变量

n=10

#加法运算

let n=n+1

echo"$n"

#乘法运算

let n=n*10

echo"$n"

#幂运算

let n=n**2

echo"$n"

二 位运算符

<<左移

>>右移

&按位与

| 位或

~位非

^位异或

2.1自增自减运算符:

++varibale 先加1,再赋给variable

--variable 先减1,再赋给variable

vaiable++ 先用variable,再加1

variable-- 先用variable,再减1

2.2数字常量的进制:

默认情况下,shell以十进制表示数字,也可用二进制,八进制,十六进制。

增加前缀:0表示8进制,0x表示十六进制

井号#:2#100表示2进制,8#42表示8进制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: