Я ищу способ добавить строку к имени переменной в bash и оценить ее как новую переменную. Пример:Изменение переменной Variable в Bash
#!/bin/bash
file="filename"
declare ${file}_info="about a file"
declare ${file}_status="status of file"
declare ${file}_number="29083451"
echo ${${file}_info} # <-- This fails with error: "bad substitution"
Есть ли способ сделать это?
Я на самом деле не реализую этот в любом производственном коде в любом месте. Я просто хочу знать, есть ли способ создать имя переменной, используя переменную и строку. Это казалось интересной проблемой.
Также обратите внимание, что я не, спрашивающий о косвенности bash, которая является использованием ${!x}
для оценки содержимого переменной как переменной.
Похоже Eval подхода приведены в http://stackoverflow.com/questions/8435256/use-string-as -variable-name-in-bash-script может быть тем, который вы ищете. – jpe
Часто задаваемые вопросы об обращении указывают, как писать, а не только, как читать, поэтому на самом деле это одна и та же тема. –
Согласовано. Поскольку я рассмотрел комментарии и ответы, казалось бы, в решении должно быть задействовано косвенное отношение. Я надеялся на другой путь, но кажется, что существует хотя бы одно решение, если косвенное использование используется в этом процессе. – vastlysuperiorman