У меня есть смешной вопрос из-за смешной проблемы.
Обычно, если я хочу получить содержание переменной среды в оболочке UNIX, я могу сделать
echo ${VAR}
Давайте примем, из-за моей смешной ситуации, что это не возможно.
Как я получаю содержание переменной среды к stdout без кого-то, кто смотрит на саму команду (не вывод), посмотрите значение переменной среды.
Я могу изобразить решение, являющееся чем-то как echo env(NAME_OF_VAR)
хотя я, может казаться, не нахожу его. Решение должно работать в sh.
PS, которую я не могу записать сценарию для этого, это должен быть созданный в команде Unix (я знаю, смешная проблема),
Спасибо (и жаль о нелепости)
Решение действительно зависит от того, какие ограничения, почему вы не можете использовать простой $ VAR
. Возможно, вы могли бы вызвать оболочку, у которой нет ограничений, и позволить этой вспомогательной оболочке оценить переменную:
bash -c 'echo $VAR'
Как насчет этого:
myVariable=$(env | grep VARIABLE_NAME | grep -oe '[^=]*$');
Вы имеете в виду что-то вроде этого:
ENV() {
printf 'echo $%s\n' $1 | sh
}
Это работает в простой старой оболочке Bourne.