微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。