Установка переменных среды для сценария в локальной переменной функции bash

У меня есть функция bash в Unix, которая выполняет сценарий, который анализирует пользовательские переменные среды. Я хочу избежать экспорта соответствующих переменных в bash и вместо этого установить их только для сценария как часть команды выполнения.

Если я устанавливаю переменные непосредственно в команде - например, VARNAME = VARVAL имя_сценария - это работает хорошо.Однако, поскольку я хочу установить несколько переменных в зависимости от различных условий, я хочу использовать локальную функциональную переменную для хранения настроек переменной среды, а затем использовать эту переменную в команде выполнения скрипта. У меня есть локальная переменная "vars", которая в конечном итоге установлена, например, на VARNAME = VAR , но если я попытаюсь запустить $ {vars} script_name из моей функции bash, я получу ошибка «команда не найдена» для назначения переменной $ vars - то есть содержимое $ vars интерпретируется как команда, а не как назначение переменных среды.

Я пробовал разные варианты синтаксиса команд, но пока безрезультатно. В настоящее время мне нужно экспортировать соответствующие переменные в функции перед вызовом скрипта, а затем сбросить / сбросить их до предыдущих значений, но это не совсем то решение, на которое я надеялся.

Любая помощь будет принята с благодарностью.

Спасибо, Шэрон

5
задан Sharon 16 January 2012 в 08:44
поделиться