2017-02-16 7 views
2

Rundeck docs дает пример определения message параметра (параметр), который затем может быть передан в скрипте в ряде направлений, в том числеЧто делать при знаках в примере @ option.message @ в Rundeck для bash?

echo [email protected]@ ;# replacement token

Мы используем этот синтаксис и кажется, хорошо, но Я понятия не имею, что эти два @ s на самом деле означает to bash; Я не могу найти упоминания о чем-либо за пределами [email protected] или что-либо, что касается «токена замены» в комментарии.

ответ

2

За the docs Вы связались, то есть «токен замены», обработанный Rundeck. То есть, Rundeck заменяет @[email protected] перед передачей команды bash. Следовательно, они не означают ничего, чтобы уловить :). В частности, в документах указано:

Операционные потоки Inline Script, содержащие расширение токена, будут расширены во временный файл, а файл temp будет содержать значение параметра открытого текста.

Так Баш видит временный файл после раскрытия, без в @[email protected] последовательности и с их значениями в качестве буквального текста.

В документах также отмечается, что «Если параметр пуст или не установлен, токен будет заменен пустой строкой». Поэтому вся последовательность @[email protected] исчезнет, ​​если конкретный токен не определен.

См. Также this section on script usage и this section on context variables в документах.

+0

Ах, спасибо. Я видел первый бит, который вы цитируете, но контекст сделал его похожим на безопасные параметры. Документы контекстных переменных были тем, что я искал. – mrec