为我的 VCAP_SERVICES 设置环境变量

setting environment variable for my VCAP_SERVICES

Cloud-Foundry 中,我将我的 mongo-secrets 存储在 CUPS 中,我想在我的 mac

中本地复制相同的内容

这两个是属性

vcap.services.mongo-creds.credentials.username=**
vcap.services.mongo-creds.credentials.password=**

在 运行 我的本地系统中的应用程序 ./gradlew bootRun 之前,我给出了这两个命令来设置应用程序启动的这些属性

export vcap.services.mongo-creds.credentials.username=**
export vcap.services.mongo-creds.credentials.password=**

我的本地终端出现以下异常

arun$ export vcap.services.mongo-creds.credentials.username=***
-bash: export: `vcap.services.mongo-creds.credentials.username=**': not a valid identifier
arun$ 

我能够通过两次整改来做到这一点

  1. 我把名字从mongo-creds改成了mongoCreds。我的 Mac 终端

  2. 不接受连字符
  3. 我用 underscore_ 替换了 dot. 就像

export vcap_services_mongoCreds_credentials_username=***

应用程序能够获取这些变量

Bash shell 不允许点 . 或破折号 - 作为变量标识符的一部分。

因此,在您的 export 表达式中,当您为变量 vcap.services.mongo-creds.credentials.username 定义一个值时,Bash 告诉您该变量的名称无效。

一个简单的解决方案是选择另一个变量名,或者改用下划线 _

但是为了在您的 Mac 上获得相关的 cf push 开发人员经验,我建议您使用 CF Local,而不是基于普通 [=26] 构建您自己的临时设置=] 命令。使用 CF Local,您将能够从远程 Cloud Foundry 基础继承服务绑定,包括使用 cf cups 创建的用户提供的服务。这应该非常适合您的用例!