使用 cloud-init,我可以指定一个runcmd
部分并执行如下操作:
runcmd: [
'MYVAR=VALUE some-command --a A --b B'
]
它可行,并在环境中设置some-command
为时运行。它在 shell 下运行。MYVAR
VALUE
但是,我实际上想使用参数化形式,如下所示:
runcmd: [
[
'some-command',
'--a', 'A',
'--b', 'B'
]
]
原因是其中一些参数值将被动态替换,并且我不希望 shell 尝试解释它们。
因此,我可以使用这个字符串数组来运行命令,但是如何为它们指定环境呢?
答案1
您可以使用以下env
命令来完成此操作:
runcmd: [
[
'env',
'MYVAR=VALUE',
'some-command',
'--a', 'A',
'--b', 'B'
]
]
查看env
手册页了解更多信息。