У меня есть сценарий оболочки, который состоит из двух файлов: одного bash-файла (main.sh) и одного файла, содержащего все мои переменные конфигурации (vars.config).
vars.config
domains=("something.com" "else.something.com")
something_com_key="key-to-something"
else_something_com_key="key-to-something else"
В моем коде я хочу перебрать массив доменов и получить ключ для домена.
#!/usr/bin/env sh
source ./vars.config
key="_key"
for i in ${domains[@]};
do
base="$(echo $i | tr . _)" # this swaps out . to _ to match the vars
let farmid=$base$key
echo $farmid
done
Поэтому, когда я запускаю его, я получаю сообщение об ошибке
. / Main.sh: строка 13: let: ключ-к-чему-то: синтаксическая ошибка: ожидается операнд (токен ошибки - «ключ-к-чему-то»)
Так что на самом деле он переставляетсяэто, но я не могу сохранить его в переменной.