zoukankan      html  css  js  c++  java
  • shell 变量赋值与替换

    :=  如${var1:=pppp}

    情形一:var1未被定义或值为空就把:=后的值赋值给变量var1

    得出结果:echo ${var1:=pppp} #pppp

    echo $var1 #pppp

    情形二:如 var2="hello world";${var2:="thank you"} 当变量var2的值不为空,此表达式不改变变量的值

    得出结果:echo ${var2:=pppp} #hello world

    echo $var2 #hello world

    总结:(:= )会比较它两边的值,判断左边的变量是否不为空,不为空值不变,否则就把右边的值赋值给左边的变量

    = 如${var3=ppppp} 当var3 未被定义时,就把ppppp赋值给var3,若已定义即使值为空也不会把ppppp赋值给变量var3

    文字描述太罗嗦,还是画个表格

    以下表格以var变量名为例 $ {var 操作符号 "hello world"}, null 表示值为空,在终端体现为 空行

    符号 变量
    未定义 值为空 值不为空(为"shellvalue")
    echo ${var操作符号"hello world"} echo $var echo ${var操作符号"hello world"} echo $var echo ${var操作符号"hello world"} echo $var
    := hello world hello world hello world hello world shell value shell value
    = hello world hello world null null shell value shell value
    :+ null null shell value hello world hello world shell value
    + null null null null hello world shell value
    :- hello world null hello world null shell value shell value
    - hello world null null null shell value shell value
    :?

    返回一个错误信息

    bash: var: hello world

    null

    返回一个错误信息

    bash: var: hello world

    null shell value shell value
    ?

    返回一个错误信息

    bash: var: hello world

    null null null shell value shell value
  • 相关阅读:
    phonegap_android配置文档
    JQueryMobile + PhoneGap 经验总结
    nand ECC 算法记录
    u-boot 2016.05 添加自己的board 以及config.h
    git commit 多行注释方法说明
    Ubuntu 下新建用户后无法sudo
    QT4.8.5 QComboBox 增加选择菜单记录
    Linux GPIO控制方法
    Qt5 can't find -LGL
    windows 端搭建nfs 服务器
  • 原文地址:https://www.cnblogs.com/www886/p/4250674.html
Copyright © 2011-2022 走看看