Вложенные переменные, которые зависят друг от друга

MediaTek MT7610U представляет собой интегрированный чип Wi -fi.
Ошибки в dmesgговорят нам о том, что для этого требуется проприетарная прошивка.

Обычно поставщики помещают их в ядро ​​Linux. NB:они не находятся в общей ветке ядра, вместо этого они находятся в ветке прошивки linux -[1] (Я думаю, по причине лицензии... );
это означает, что вам нужен дополнительный пакет в вашей системе!

Как только вы это сделаете, перезагрузка (это самый простой способ )решить вашу проблему.


Извините, если я использовал неправильные термины. Смело исправляйте их!

[1] http://git.kernel.org/?p=linux/kernel/git/firmware/linux-firmware.git;a=summary

0
19.04.2021, 20:34
1 ответ

${WG_${LAN}_server_port}не работает ни в одной из известных мне оболочек. В Ksh, Bash или Zsh у вас будут способы делать косвенные ссылки, то есть ссылаться на переменную, названную в другом.

Но вы сказали OpenWrt и ash, так что, вероятно, у вас есть только голые функции POSIX.

В этом случае вам, вероятно, придется вернуться к eval, как бы это ни было уродливо.

Вы можете сделать что-то подобное, чтобы сначала загрузить содержимое WG_guest_server_portкосвенно в другую переменную, а затем использовать это в -документе:

eval "serverport=\${WG_${LAN}_server_port}"
cat <<EOF > "/etc/wireguard/peer.conf"
Endpoint = ${DDNS}:${serverport}
EOF

Обратите внимание, что это означает, что содержимое ${LAN}становится частью строки кода . Злоумышленник может сформировать специальное значение, которое заставит скрипт выполнять произвольные команды. Поэтому не делайте этого, если $LANсодержит ненадежные данные.

2
28.04.2021, 22:52

Теги

Похожие вопросы