Не удается использовать канал в облаке init runcmd

Как я могу использовать канал для перенаправления вывода команды в моем разделе runcmd сценария облачной инициализации? Следующее не удается:

runcmd:
    - [curl, -sk, https://example.com/packages/current/install.bash, '|', /bin/bash, -s,  agent:certname=XYZ.com] 

В итоге создается сценарий, который выглядит следующим образом:

'curl' '-sk' 'https://example.com/packages/current/install.bash' '|' '/bin/bash' '-s' 'agent:certname=XYZ.com'

Поскольку канал становится кавычками, сценарий не выполняется. Как я могу обойти эту проблему?


person anish    schedule 21.10.2015    source источник
comment
Вы пробовали что-то вроде [sh, -c, 'curl -sk https://example.com/packages/current/install.bash | /bin/bash -s agent:certname=XYZ.com']?   -  person Gonfva    schedule 21.10.2015


Ответы (1)


Вместо использования массива используйте одну строку.

runcmd:
    - 'curl -sk "https://example.com/packages/current/install.bash" | /bin/bash -s,  agent:certname=XYZ.com'

См. Также: https://www.digitalocean.com/community/questions/help-with-cloud-init-syntax-for-runcmd.

person Brad    schedule 07.11.2015