• Linux变量替换技术


    1.1.1   ${value:-word}

    如果变量value没有定义,则返回word,如果已经赋值则返回value变量的值

    result=${jimyy:-UNSET}

    echo $result

    由于jimyy没有定义,因此返回UNSET

    这种变量功能判断变量在没有定义时,确保变量始终有一个返回值。

    1.1.2   ${value:=word}

    当value没有定义时,则把word赋给value,然后通过${value:=word} 值把vaule值打印出来。

    result=${jimyy:=UNSET}

    echo $result

    echo $jimyy

    结果两个变量的值都是UNSET

     

    这个变量功能是在变量没有定义时,给变量赋一个值,并且返回。

    1.1.3   ${value:? "not defined"}  当value没有定义时,返回

    bash: vaule : not defined

    用于捕捉变量没有定义而导致的错误

     

    1.1.4   ${value:+word}  当变量存在且非null时,返回word,否则返回null

    用于测试变量是否存在

     

    1.1.5   ${value-word}  如果value不存在,则用word替代。

     变量替换功能在某些场景下有显著的功能。

    当对变量进行操作时,最好先判断变量是否非空,比如对目录类型的变量进行rm -rf操作,必须要对这个变量进行判断,

    因为如果变量为空,或者未赋值,则可能会从根目录或/root目录开始删除,影响是特别大,因此要慎重,因此在这种场景下可以使用变量替换功能,防止意外删除操作。

    例如:

    path1=/opt/server/backup/

    find ${path1:=/tmp/}  -name  "*.tar.gz"  -type  f|xargs rm -f

  • 相关阅读:
    SAP 是不是很烂的一个ERP软件
    Linux 的目录树
    LINUX连接外网的安全问题(查看日志)
    硬盘概念:柱面、磁道、扇区、簇
    Linux下安装PHP pdo_mysql支持
    端口映射帮助文档
    怎么建设一个FTP服务器
    linux开启telnet服务
    CentOS yum的详细使用方法
    WinXP SSH连接不上虚拟机的解决方法
  • 原文地址:https://www.cnblogs.com/nanshanjushi/p/11546644.html
Copyright © 2020-2023  润新知