Предположим, что вы можете поместить этот первый цикл в свой собственный скрипт или в функцию оболочки с именем my_apps_loop
(, или вы можете просто вставить его вместо вызова my_apps_loop
ниже ).
#!/bin/bash
urls=()
# Create URLs
while IFS='=' read -r app ip; do
urls+=( "http://$ip:8080" )
done < <(my_apps_loop)
(
IFS=','
# Call apiserver with generated URLs
/usr/local/bin/apiserver --dubdub="${urls[*]}" --master
)
Это зациклит вывод my_apps_loop
(, который выведет строки с app1=...
и т. д. )чтение части appN
в $app
и строки после =
в $ip
.
Для каждой прочитанной строки к биту $ip
добавляется строка http://
, к которой добавляется суффикс :8080
и вставляется в массив urls
.
Подоболочка в конце вызывает apiserver
. Опция --dubdub
получает свое значение из массива urls
, где значения массива объединены в одну строку, разделенную запятыми.
для людей в этом случае посмотрите здесь :https://wiki.archlinux.org/title/Dhcpcd#Running
Вы должны отключить dhcpcd.service и включить его для интерфейсов, которые вам нужны (ex :dhcpcd@eth1.service ).Это должно сработать:
sudo systemctl disable --now dhcpcd.service
#sudo systemctl enable --now dhcpcd@eth1.service
sudo ip link set eth0 down
sudo ip link set eth0 up
ps :Я буду рад обсудить Arch ARM в частном порядке, зная, какую версию вы запускаете между armv7 и armv8 (aarch64 ). ;)