为我的VCAP_SERVICES设置环境变量

时间:2019-10-04 14:56:35

标签: linux macos cloudfoundry

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$ 

2 个答案:

答案 0 :(得分:0)

我能够通过两次纠正来做到这一点

  1. 我将名称从mongo-creds更改为mongoCreds。我的Mac终端机中不接受连字符

  2. 我用

  3. dot.替换了underscore_

export vcap_services_mongoCreds_credentials_username=***

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

答案 1 :(得分:0)

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

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

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

但是,如果要在Mac上拥有cf push的相关开发人员经验,建议您使用CF Local,而不要基于简单的Gradle命令构建自己的即席设置。使用CF Local,您将能够从远程Cloud Foundry基础继承服务绑定,包括使用cf cups创建的用户提供的服务。这应该非常适合您的用例!