Linux下如何实现变量替换技术
这篇文章主要介绍了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目录开始删除,影响是特别大,因此要慎重,因此在这种场景下可以使用变量替换功能,防止意外删除操作。
例如:
path2=/opt/server/backup/
find ${path2:=/tmp/} -name "*.tar.gz" -type f|xargs rm -f
感谢你能够认真阅读完这篇文章,希望小编分享的"Linux下如何实现变量替换技术"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!
- 上一篇
怎么使用opencv实现车道线检测
这篇"怎么使用opencv实现车道线检测"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇
- 下一篇
如何解决bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory的问题
这篇文章主要讲解了"如何解决bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or direct