0

脚步 :

  • 遵循希普利关于 DIY 的“学习 Openshift”章节中的步骤
  • 创建了一个 DIY 墨盒
  • SSH 进入
  • 发送到 app-root/data
  • wget .....tomcat 8
  • 解压
  • 设置conf/服务器
  • 设置 conf/tomcat-users
  • 启动 - 工作 - 可以访问 Tomcat 主页

我想用 $OPENSHIFT_DIY_IP 和 $OPENSHIFT_DIY_PORT 环境变量替换 conf/server.xml 文件中的硬编码地址和端口值。

当我直接将这些变量放入时 - 它不起作用。

我已经了解到原因是因为 $OPENSHIFT_* 变量没有正确地传递到 JVM - 这很好。

为了解决这个问题 - 我想我可以在 bin/setenv.sh 文件中添加几个部分,以便将它们捕获到我自己的变量中,然后在 server.xml 文件中使用我的变量,例如,

MY_IP=$OPENSHIFT_DIY_IP MY_PORT=$OPENSHIFT_DIY_PORT

我当前的问题是上述语句在 setenv.sh 中不起作用

我可以从命令行终端会话执行这些命令并让 $MY_* vars 保留这些值,但是当它们被放入 setenv 并且运行 ./setenv.sh 时 - vals 以空字符串的形式出现。

建设性/有益的想法?

蒂亚

4

1 回答 1

0

当您通过直接运行 setenv 来运行它时,MY_* 环境变量将仅在 setenv 脚本中可用。

当您希望变量在 setenv 脚本之外可用时,您需要source setenv. setenv.

如果您希望这些变量可用于从您的 shell 创建的子进程,则需要export您的环境变量。

于 2015-02-10T19:58:03.480 回答