参数扩展的双冒号有什么作用?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了参数扩展的双冒号有什么作用?相关的知识,希望对你有一定的参考价值。
shell脚本中的subjectAltName = ${ENV::subjectAltName}
是什么意思?我在MacOS本地尝试了这个,它只返回null。
我已经去过关于bash脚本的各种教程,我发现了类似的东西
subjectAltName = ${ENV:-subjectAltName}
意味着如果ENV
未设置或为null,则subjectAltName
的扩展将被替换。否则,ENV
的值被替换,但我没有在参数扩展的上下文中看到双冒号。有关该教程,请参阅here。还有here。
我也见过这种用法:
$ENV::HOME/.rnd
在这里,我期望这些变量的连接。
这用于openssl.conf
文件。
答案
它不是shell语法,它是openssl.conf
和OpenSSL CONF库独有的功能。 config(5) man page说:
也可以使用语法
$section::name
或${section::name}
替换另一个部分中的值。通过使用$ENV::name
形式,可以替换环境变量。
以上是关于参数扩展的双冒号有什么作用?的主要内容,如果未能解决你的问题,请参考以下文章