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