-1
Я видел этот вопрос, заданный раньше, но я не могу понять его.Использование переменной значения как имя переменной в bash
У меня есть этот переменный, которую я получаю от пользовательского ввода read column_number
, а затем я присоединиться к нему с префиксом «Col», чтобы сформировать имя моего переменного
selected_column="col"$column_number
Но когда я пытаюсь оценить его, чтобы получить результат, я продолжаю получать (standard_in) 1: ошибка синтаксиса
sum=$(round $sum+"echo ${!selected_column}", 2)
Пожалуйста, вы можете дать объяснение '$' Это функция расширения история, которую мы используем здесь? – sjsam
@sjsam 'man bash' then'/indirection' – gboffi
@sjsam: From 'man bash': * * Если первый символ параметра является восклицательным знаком (!), Вводится уровень переменной-косвенности. Bash использует значение переменной, сформированной из остальной части параметра, как имя переменной, затем эта переменная расширяется и , что значение используется в остальной части замещения, а не как значение самого параметра. Это называется косвенным расширением . * " – Cyrus