в чем разница между типами переменных среды

Я пытаюсь использовать OpenShift. Я путаюсь между тремя способами написания:

${env.OPENSHIFT_MYSQL_DB_HOST}
${OPENSHIFT_MYSQL_DB_HOST}

и

$OPENSHIFT_MYSQL_DB_HOST

Не могли бы вы показать мне, в чем разница между ними?


person Lost Heaven 0809    schedule 26.08.2013    source источник
comment
Нет разницы. Все они по-прежнему указывают на env var OPENSHIFT_MYSQL_DB_HOST.   -  person zeusdeux    schedule 08.10.2013


Ответы (1)


${env.OPENSHIFT_MYSQL_DB_HOST}

применимо только в файле standalone.xml для приложения JBoss. окр. ссылается на переменные среды, а ${} без env ссылается на системные свойства. Так

${OPENSHIFT_MYSQL_DB_HOST}

в standalone.xml ссылается на системное свойство. Однако в сценарии bash это будет ссылка на переменную среды, поскольку OpenShift использует все переменные env для сценариев картриджей. Так же

$OPENSHIFT_MYSQL_DB_HOST

это просто еще один способ сослаться на переменную в bash. В bash $var и ${var} взаимозаменяемы, за исключением случаев, когда разграничение переменных является проблемой. Например, $varblah — это не то же самое, что ${var}blah.

person danmcp    schedule 18.12.2013