当前位置: 技术问答>linux和unix
linux shell 下的位运算(在线等!!)
来源: 互联网 发布时间:2016-06-04
本文导语: 大家好,我现在想要在shell脚本中进行与、或、取反等位操作,不知道如何实现,请大家帮帮忙,谢谢! | 看下这个吧 http://hi.baidu.com/cn_linux/blog/item/a7c64f16e9f7d24b21a4e970.html | $...
大家好,我现在想要在shell脚本中进行与、或、取反等位操作,不知道如何实现,请大家帮帮忙,谢谢!
|
看下这个吧
http://hi.baidu.com/cn_linux/blog/item/a7c64f16e9f7d24b21a4e970.html
http://hi.baidu.com/cn_linux/blog/item/a7c64f16e9f7d24b21a4e970.html
|
$ cat aa
#!/bin/sh
A_STR=0x50
B_STR=0xf7
A=$(( $A_STR ))
B=$(( $B_STR ))
RESULT=$(printf "0x%x" $(( $A | $B )))
echo $RESULT
RESULT=$(printf "0x%x" $(( $A & $B )))
echo $RESULT
RESULT=$(printf "0x%08x" $(( ~ $A )))
echo $RESULT
RESULT=$(printf "0x%08x" $(( ~ $B )))
echo $RESULT
$ ./aa
0xf7
0x50
0xffffffffffffffaf
0xffffffffffffff08
#!/bin/sh
A_STR=0x50
B_STR=0xf7
A=$(( $A_STR ))
B=$(( $B_STR ))
RESULT=$(printf "0x%x" $(( $A | $B )))
echo $RESULT
RESULT=$(printf "0x%x" $(( $A & $B )))
echo $RESULT
RESULT=$(printf "0x%08x" $(( ~ $A )))
echo $RESULT
RESULT=$(printf "0x%08x" $(( ~ $B )))
echo $RESULT
$ ./aa
0xf7
0x50
0xffffffffffffffaf
0xffffffffffffff08