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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |