[英]Variable assignment inside AWS ssm does not work
我正在尝试在 AWS SSM 上运行以下命令:
Parameters = @{
commands = @(
"Write-Host userid is $userID password $($password)"
'$userID2 = $userID'
'$password2 = $password'
"Write-Host userid is $userID2 password $($password2)"
)
}
第一个 Write-Host 语句打印 $userID 和 $password 的正确值,但在分配新变量后,第二个Write-Host
变量对两个变量都打印为空。 难道我做错了什么? 我也尝试用双引号获取$userID
和$password
的值,但没有运气。
对于任何面临同样问题的人。 问题是在将命令发送到 EC2 之前,AWS 将用所有变量值替换命令,因此,我们不能直接重用命令中的变量。 这是我必须想出的解决方法:
$userID = 'testuser1'
$password = 'testpassword'
$userIdString = "`$userID2 = '$userID'"
$passwordString = "`$password2 = '$password'"
Parameters = @{
commands = @(
"Write-Host userid is $userID password $($password)"
"$userIdString"
"$passwordString"
"Write-Host userid is $userID2 password $($password2)"
)
}
现在它打印$userID2
和$password2
罚款。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.