Что делают двойные двоеточия с расширением параметров? - PullRequest
0 голосов
/ 10 октября 2018

Что означает subjectAltName = ${ENV::subjectAltName} в сценарии оболочки?Я попробовал это локально на MacOS, и он просто возвращает ноль.

Я прошел различные уроки по bash-скриптингу и обнаружил, что что-то вроде

subjectAltName = ${ENV:-subjectAltName}

будет означать, если ENV не установлено или равно нулю, расширение subjectAltName заменяется.В противном случае подставляется значение ENV, но я не видел двойных двоеточий в контексте расширения параметров.Смотрите здесь для этого урока.Также здесь .

Я также видел это использование:

$ENV::HOME/.rnd

Здесь я ожидаю конкатенацию для всех этих переменных.

Используется для файла openssl.conf.

1 Ответ

0 голосов
/ 10 октября 2018

Это не синтаксис оболочки, это особенность, уникальная для openssl.conf и библиотеки OpenSSL CONF.Справочная страница config (5) сообщает:

Также возможно заменить значение из другого раздела, используя синтаксис $section::name или ${section::name}.Используя форму $ENV::name можно заменить переменные окружения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...