У меня есть файл конфигурации с этим содержанием:
config_scrm.sh
CDT_TRIGGER='69'
SR_TRIGGER='165'
В основной сценарий мне нужно вставить содержимое CDT_TRIGGER (который 69) в переменную с именем TRIGGER. Единственное, что я должен знать, что я должен получить точное содержимое переменной, это другая (локальная) переменная с именем ELM = 'CDT'.
Итак, в основном скрипте я выполняю:
main.sh
#!/bin/bash
source config_scrm.sh
(some calculations to obtain the value of variable ELM)
ELM='CDT'
Мне нужно, чтобы ТРИГГЕР был 69.
Если ELM = 'SR', мне нужно, чтобы TRIGGER был 165. И так далее, есть гораздо больше значений, чем показано в этом отрывке.
Что не работает:
MYSTRING='_TRIGGER'
TRIGGER=${$ELM$MYSTRING}
или же
TRIGGER=`echo "$ELM$MYSTRING"`
или же
TRIGGER=`$(echo "$ELM$MYSTRING")`