Я написал следующие две функции в Bash:Можете ли вы указать переменную среды для изменения в качестве аргумента функции в Bash?
function prepend_path() { PATH=$1:$PATH }
function prepend_manpath() { MANPATH=$1:$MANPATH }
Тела функций фактически будет более сложным. Для того, чтобы избежать дублирования кода, я хотел бы сделать что-то вроде следующего:
function prepend() { "$1"=$2:"$1" }
function prepend_path() { prepend PATH $1 }
function prepend_manpath() { prepend MANPATH $1 }
Однако prepend
не действует Bash. Идея состоит в том, чтобы передать имя переменной среды в качестве аргумента для Bash. Возможно ли это, или есть другое решение?
дубликата http://stackoverflow.com/questions/372869/get-name-of-a-variable-as-input-and-change -The-переменный с Сущим именем. Короткий ответ - вы можете использовать 'eval'. –