zoukankan      html  css  js  c++  java
  • Linux Shell编程(12)——操作符

    赋值


    变量赋值
    初始化或改变一个变量的值


    =
    通用的变量赋值操作符,可以用于数值和字符串的赋值


       1 var=27
       2 category=minerals  # "="字符后面不能加空白字符.



    不要把"="赋值操作符和=测试操作符搞混了。

     #    = 用于测试操作符
     
    if [ "$string1" = "$string2" ]
    # if [ "X$string1" = "X$string2" ] 会更安全,
    # 它为了防止其中有一个字符串为空时产生错误信息.
    # (增加的"X"字符可以互相抵消.) 
    then
       command
    fi

    计算操作符


    +加

    -减

    *乘
    /除
    **求幂
     # Bash在版本2.02引入了"**"求幂操作符.
    
    let "z=5**3"
    echo "z = $z"   # z = 125

    %求模(它返回整数整除一个数后的余数)

     bash$ expr 5 % 3
     2
     	      
    5/3 = 1 余 2


    +="加-等(plus-equal)" (把原变量值增加一个常量并重新赋值给变量)

    let "var += 5"会使变量var值加了5并把值赋给var.

    -="(减-等)minus-equal" (把原变量值减少一个常量并重新赋值给变量)
    *="(乘-等)times-equal" (把原变量值乘上一个常量并重新赋值给变量)
    let "var *= 4" 使变量var的值乘上4并把值赋给var.
    /="(除-等)slash-equal" (把原变量值除以一个常量并重新赋值给变量)
    %="(模-等)mod-equal" (把原变量值除以一个常量整除(译者注:即取模)并重新赋余数的值给变量)
    计算操作符常常出现在expr或let命令的表达式中.


    位操作符. 位操作符很少在脚本中使用。他们主要用于操作和测试从端口或sockets中读到的数据。“位运算”更多地用于编译型的语言,比如说C和C++,它们运行起来快地像飞。

    位操作符
    <<位左移(每移一位相当乘以2)
    <<="位左移赋值"
    let "var <<= 2" 结果使var的二进制值左移了二位(相当于乘以4)

    >>位右移(每移一位相当除以2)
    >>="位右移赋值"(和<<=相反)
    &位与
    &="位于赋值"
    |位或
    |="位或赋值"
    ~位反
    !位非
    ^位或
    ^="位或赋值"


    逻辑操作符
    &&逻辑与
    if [ $condition1 ] && [ $condition2 ]
    # 等同于:  if [ $condition1 -a $condition2 ]
    # 如果condition1和condition2都为真则返回真...
    
    
    if [[ $condition1 && $condition2 ]]    # Also works.
    # 注意&&操作不能在[ ... ]结构中使用.


    依据上下文,&&也可以在与列表(and list)连接命令中。

    ||逻辑或
    if [ $condition1 ] || [ $condition2 ]
    # 等同于:  if [ $condition1 -o $condition2 ]
    # 如果condition1和condition2有一个为真则返回真...
    
    
    if [[ $condition1 || $condition2 ]]    # Also works.
    # 注意||操作不能在[ ... ]结构中使用.



    Bash测试由逻辑操作符连接起来的每一个表达式的退出状态。
  • 相关阅读:
    springmvc实现文件上传
    springmvc乱码及restful
    springmvc数据的处理
    springmvc跳转方式
    controller配置
    SpringMVC Annotation
    SpringMVC基本包
    第一章 面向对象软件工程与UML
    Oracle数据库之PL/SQL程序基础设计
    thinkphp5 给CSS JS 添加版本号
  • 原文地址:https://www.cnblogs.com/new0801/p/6176867.html
Copyright © 2011-2022 走看看