shell运算符

shell运算符

基础运算符

+ : 加
-:减
*:乘
/:除
%:取余

# 取余案例
echo $((RANDDM%10))

# 自增案例
for ((i=1;i<=10;i++));do
	echo $i
done

逻辑符号

&& : 且
|| :或
!  :非

所有符号

+ -  # 加号,减号,一般用于整型、浮点型的运算,其他语言中也可以做字符串的拼接
* / %   # 乘号 除号 取余 一般用于运算

**  # 幂运算

++  --  # 自加 自减 ,可前置也可以后置,认步长为1

n+=2   n=n+2
n-=2   n=n-2
n*=2   n=n*2
n/=2   n=n/2
n%=2   n=n%2

==    :等于			# equal   -eq
<  	  :小于			# less than   -lt
>	  :大于			# greate than -gt
<=   :小于等于			# less equal   -le
>=   :大于等于			# greate equal   -qe
<> 或 !=  :不等于		# not equal 	-ne


# 复制符号
=: 赋值符号
==: 运算符号 等于

>> :向左位移
<< :向右位移

~、!、&、^ :按位取反  按位异或  按位与  按位或

运算方式

(())

[root@m01 ~]# echo $((1+1))
2

let

[root@m01 ~]# let a=2*8
[root@m01 ~]# echo $a
16

expr

[root@m01 ~]# expr 1 + 1
2
[root@m01 ~]# expr 99 \* 99
9801

# 乘号要加转义符

bc

[root@m01 ~]# echo '1+9' | bc
10

# 进制装换
[root@m01 ~]# echo 'obase=2;192' | bc
11000000

[root@m01 ~]# echo 'obase=16;192' | bc
C0

$[]

awk

[root@m01 ~]# awk 'BEGIN {print 99+1,99*2,99/2}'
100 198 49.5

作业

if [ $# -eq 2 ];then
    expr $1 + $2   &> /dev/null
  if [ $? -eq 0 ];then
    expr $1 + $2
    expr $1 \* $2
    expr $1 / $2
    expr $1 - $2
  else
    echo '输入数字' 
  fi
else
  echo '请输入两个参数'
fi

相关文章

Centos系统之Shell编程基础知识
从Export理解Shell环境和变量生存期
linux shell数组变量、类型及规则
Centos编程Shell基本工作原理方案
Centos操作系统编程之Shell 问答录
rsync-linux备份脚本