有没有办法将变量与用于 SNS 的 AWS CLI 一起使用?
Is there a way to use variables with the AWS CLI for SNS?
我正在使用 aws cli 通过 sns 发送一些电子邮件,在 shell 脚本中,我 运行 声明了一些变量,STATUS_DOWN_HOST 和 STATUS_DOWN_ENV。我脚本的主要 "meat" 然后运行以下内容:
aws sns publish --topic-arn
arn:aws:sns:ap-southwest-2:377766644499:URL_TEST --message "The
service $STATUS_DOWN_HOST is unresponsive on $STATUS_DOWN_ENV."
这按预期发送了一封邮件,但未提取变量,因此只显示了省略了这些部分的电子邮件消息。
我是否应该使用一些引号或括号以便 cli 获取变量?
谢谢!
您可以使用 printenv
命令将环境变量包含到您的输出中。
$() 语法允许您嵌入命令。
aws sns publish --topic-arn arn:aws:sns:ap-southwest-2:377766644499:URL_TEST --message "The service $(printenv STATUS_DOWN_HOST) is unresponsive on $(printenv STATUS_DOWN_ENV)."
参考资料
我正在使用 aws cli 通过 sns 发送一些电子邮件,在 shell 脚本中,我 运行 声明了一些变量,STATUS_DOWN_HOST 和 STATUS_DOWN_ENV。我脚本的主要 "meat" 然后运行以下内容:
aws sns publish --topic-arn arn:aws:sns:ap-southwest-2:377766644499:URL_TEST --message "The service $STATUS_DOWN_HOST is unresponsive on $STATUS_DOWN_ENV."
这按预期发送了一封邮件,但未提取变量,因此只显示了省略了这些部分的电子邮件消息。
我是否应该使用一些引号或括号以便 cli 获取变量?
谢谢!
您可以使用 printenv
命令将环境变量包含到您的输出中。
$() 语法允许您嵌入命令。
aws sns publish --topic-arn arn:aws:sns:ap-southwest-2:377766644499:URL_TEST --message "The service $(printenv STATUS_DOWN_HOST) is unresponsive on $(printenv STATUS_DOWN_ENV)."
参考资料