Я повторю то, что Кусалананда сказал о неиспользовании ALLCAPS для имен переменных в сценариях оболочки. Как правило, это плохая идея и может вызвать проблемы, когда ваши имена переменных сталкиваются с переменными среды по умолчанию. И я также согласен с тем, что лучший способ сделать это — использовать ассоциативный массив, как он описывает в своем ответе.
В любом случае, если вы настаиваете на (неправильном )способе вместо массива, вам нужно будет сделать что-то вроде этого:
varname="$env"_account
aws events put-targets --rule {{ stack_name | lower }}-hello-world \
--targets "Id"="1","Arn"="arn:aws:lambda:us-west-2:${!varname}:function:hello-world"
Синтаксис ${!var}
будет расширяться до значения переменной с именем var
. Например:
$ foo="foovar"
$ bar=foo
$ echo ${!bar}
foovar
А если серьезно, просто не делай этого. Это сложно, громоздко, трудно читать, сложнее поддерживать, и ассоциативный массив просто решит все эти проблемы за вас.
К моему удивлению, решением была установка пакета network-manager
. Никакой дополнительной настройки не потребовалось, даже установка беспроводного интерфейса под управление NetworkManager. Я воспроизвел такое же поведение на другой системе (Плата Raspberry Pi CM4 с Ubuntu Server 20.04 ).
Просто примечание: Ubuntu Server поставляется с systemd-networkd
в качестве службы по умолчанию для управления сетью, тогда как Ubuntu Desktop поставляется с NetworkManager.
Я проверил список, и Intel® Wi -Fi 6 AX200 160 МГц показывает:
AP mode on 2.4GHz (on devices driven by iwlmvm)