shell之运算符

来源:互联网 发布:自动聊天软件机器人 编辑:程序博客网 时间:2024/05/21 08:47

一 算术运算符:

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

1.1 expr计算某个表达式值

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

例子:

#/bin/bash

#计算2100的差,即-98

result=`expr 2 -100`

echo"$result"

#计算2100的和,即102

result=`expr 2 +100`

echo"$result"

#计算25的乘积,即10

result=`expr 2 \*5`

echo"$result"

#计算248的商,即3

result=`expr 24 /8`

echo"$result"

#先计算26的差,然后再乘以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

#紧凑格式,计算36的和

result=$((3+6))

echo"$result"

#松散格式,计算39的和

result=$(( 3 + 9))

echo"$result"

#计算36的乘积

reuslt=$(( 3 * 6))

echo"$result"

#计算75的商

result=$(( 7 / 5))

echo"$result"

#计算83的余数

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进制

0 0