shell下位和逻辑操作

 位操作符.
   
    位操作符在shell脚本中极少使用.它们最主要的用途看起来就是操作和test从sockets中
    读出的变量."Bit flipping"与编译语言的联系很紧密,比如c/c++,在这种语言中它可以
    运行得足够快.(原文有处on the fly,我查了一下,好像是没事干的意思,没理解)
 
<<        左移1位(每次左移都将乘2)
 
<<=        左移几位,=号后边将给出左移几位
        let "var <<= 2"就是左移2位(就是乘4)
 
>>        右移1位(每次右移都将除2)
 
>>=        右移几位
 
&        按位与
 
&=        按位与赋值
 
|        按位或
 
|=        按位或赋值
 
~        按位非
 
!        按位否?(没理解和上边的~有什么区别?),感觉是应该放到下边的逻辑操作中
 
^        按位异或XOR
 
^=        异或赋值
 
 
逻辑操作:
 
&&        逻辑与
        1 if [ $condition1 ] && [ $condition2 ]
        2 # 与:  if [ $condition1 -a $condition2 ] 相同
        3 # 如果condition1和condition2都为true,那结果就为true.
        4  
        5 if [[ $condition1 && $condition2 ]]    # 也可以.
        6 # 注意&&不允许出现在[ ... ]中.
        注意:&&也可以用在and list中(见25章),但是使用的时候需要依赖上下文.
 
||        逻辑或
        1 if [ $condition1 ] || [ $condition2 ]
        2 # 与:  if [ $condition1 -o $condition2 ] 相同
        3 # 如果condition1或condition2为true,那结果就为true.
        4  
        5 if [[ $condition1 || $condition2 ]]    # 也可以
        6 # 注意||不允许出现在[ ... ]中.
        注意:Bash将test每个连接到逻辑操作的状态的退出状态.

例:
     if [ "$a" -eq 24 ] && [ "$b" -eq 47 ] 与if [ "$a" -eq 24 -a "$b" -eq 47 ]得到同一结果。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值