Shell运算

1、运算

使用双引号可以引用除字符$、·、外的任何字符和字符串

[root@oracle11g ~]# ls

abc    abc.txt    anaconda-ks.cfg    cal.txt    Desktop    find.sh    install.log    install.log.syslog

[root@oracle11g ~]# echo *  //只显示文件, 不包含目录

abc abc.txt anaconda-ks.cfg cal.txt Desktop find.sh install.log install.log.syslog

[root@oracle11g ~]# echo $[ 2+8 ]

10

[root@oracle11g ~]# echo $[2+8]

10

[root@oracle11g ~]# echo $[ 2>>8 ] //将2向右移8位,左边补0

0

[root@oracle11g ~]# echo $[ 2<<4 ]  //将2向左移4位,右边补0

32

[root@oracle11g ~]# echo $[ 2^4 ]  //异或运算

6

[root@oracle11g ~]# echo $[ 2 | 4 ] //或运算

6

[root@oracle11g ~]# echo $[ ~3 ]  //取反,将所有的二进制位1->0, 0->1

-4

2、赋值运算

=、+=、-=、*=、、=、%=、&=、^=、!=、<<=、>>=
let count=$count+$change
let count+=$change
  1. [simpleanti@PLATQA136025 logs]$ var=100 
  2. [simpleanti@PLATQA136025 logs]$ let var=$var+4 
  3. [simpleanti@PLATQA136025 logs]$ echo $var 
  4. 104 
  5. [simpleanti@PLATQA136025 logs]$ let var+=5 
  6. [simpleanti@PLATQA136025 logs]$ echo $var 
  7. 109 

3、表达式替换

[root@oracle11g ~]# echo $[ 10#8 + 1 ]   //8进制的10,在加上1, 即9

9