首页 > 解决方案 > 环境变量未在给定路径中创建

问题描述

我在 Cloudformation 模板的 Userdata 部分使用了下面提到的脚本来设置环境变量,但是没有创建环境变量并且 setenv 文件中没有内容

"echo 'export ec2userdata='variable > /root/setenv\n",
{
"Fn::Join" :
   ["",
      [ "echo 'export environment'=",
        {"Ref" : "EnvironUsed"},
          " >>/root/setenv\n"]]
 },

在文件 /root/setenv 中必须存储环境变量,稍后将由其他脚本使用

标签: amazon-ec2environment-variablesamazon-cloudformationuser-data

解决方案


您所解释的是预期的行为。这是因为当您使用“set”/“export”等命令创建环境变量时。这些变量肯定是创建的,但对于特定的 bash 上下文是活动的。

一旦另一个脚本被执行,它们就找不到了,因为它们从来都不是新的 bash 执行上下文的一部分。

您可以在这里做的是将数据存储到某个 .txt 文件中,例如作为键值对。您以后的脚本将能够引用它的值。

希望能帮助到你。


推荐阅读