步骤:
我想用$ OPENSHIFT_DIY_IP和$ OPENSHIFT_DIY_PORT env vars替换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时 - 这些值将作为空字符串出现。
建设性/有益的想法?
TIA
答案 0 :(得分:0)
通过直接运行setenv运行setenv时,MY_ *环境变量只能在setenv脚本中使用。
如果希望变量在setenv脚本之外可用,则需要source setenv
或. setenv
。
如果您希望这些变量可用于从shell创建的子进程,则需要export
您的环境变量。