• shell位操作符


    位操作符.

    位操作符在shell脚本中极少使用它们最主要的用途看起来就是操作和testsockets

    读出的变量."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 # 如果condition1condition2都为true那结果就为true.

    5 if [[ $condition1 && $condition2 ]]    # 也可以.

    6 # 注意&&不允许出现在[ ... ].

    注意:&&也可以用在and list(25)但是使用的时候需要依赖上下文.

    ||        逻辑或

    1 if [ $condition1 ] || [ $condition2 ]

    2 # :  if [ $condition1 -o $condition2 ] 相同

    3 # 如果condition1condition2true那结果就为true.

    5 if [[ $condition1 || $condition2 ]]    # 也可以

    6 # 注意||不允许出现在[ ... ].

    注意:Bashtest每个连接到逻辑操作的状态的退出状态.

    例:

    if [ "$a" -eq 24 ] && [ "$b" -eq 47 ] if [ "$a" -eq 24 -a "$b" -eq 47 ]得到同一结果。

    a=1

    let "a=a|0x4"

    echo $a

    if [ $((a|0x4)) -eq 5 ];then

    echo "ada"

    fi

    原文:

    http://blog.csdn.net/zhrmghl/article/details/1346409

  • 相关阅读:
    正则表达式
    Newtonsoft.Json
    MVC之参数验证(三)
    MVC之参数验证(二)
    MVC之参数验证(一)
    MVC之模型绑定
    导致存储过程重新编译的原因
    IFormattable,ICustomFormatter, IFormatProvider接口
    oracle将id串转换为名字串
    oracle查看表空间大小及使用情况
  • 原文地址:https://www.cnblogs.com/mydomain/p/2820981.html
Copyright © 2020-2023  润新知