Я пытаюсь создать 2 массива с помощью bash.
array1 с именем DNSSERVERS: со всеми DNS-серверами;выходные данные должны быть такими: 1.1.1.1,2.2.2.2,3.3.3.3,4.4.4.4
и
array2 с именем DNSSERVERSSEARCH.with всего домена DNS;вывод должен быть таким: local.domain.net,domain.net
вся эта информация взята из: systemd-resolve --status
.
Тогда я бы хотел поместить этот массив в скрипт bash: bounding-netplan.sh
И дело в том, что сегодня у нас есть 4 DNS-сервера и 2 DNS-домена.но завтра это может быть 1 DNS-сервер и 4 DNS-домена.Сценарий должен быть гибким.
Я пытался установить с помощью awk.но без успеха.
любой может помочь мне в этом.Буду очень признателен.
Большое спасибо заранее.
# systemd-resolve --status
Global
DNS Servers: 1.1.1.1
2.2.2.2
3.3.3.3
4.4.4.4
DNS Domain: local.domain.net
domain.net
DNSSEC NTA: 10.in-addr.arpa
16.172.in-addr.arpa
168.192.in-addr.arpa
17.172.in-addr.arpa
18.172.in-addr.arpa
19.172.in-addr.arpa
20.172.in-addr.arpa
21.172.in-addr.arpa
22.172.in-addr.arpa
23.172.in-addr.arpa
24.172.in-addr.arpa
25.172.in-addr.arpa
26.172.in-addr.arpa
27.172.in-addr.arpa
28.172.in-addr.arpa
29.172.in-addr.arpa
30.172.in-addr.arpa
31.172.in-addr.arpa
corp
home
internal
intranet
lan
local
private
test
cat bounding-netplan.sh
#!/bin/bash
MAJORRELEASE=$( lsb_release -sr | cut -d\. -f1 )
STROS=$( lsb_release -si )
# Ubuntu 18.04
if [ $STROS == Ubuntu ] && [ $MAJORRELEASE -ge 18 ] ; then
if [ -d /etc/netplan ]; then
DNSSERVERS=``
DNSSERVERSSEARCH=``
cat <<EOF | tee /etc/netplan/01-netcfg.yaml
network:
version: 2
renderer: networkd
ethernets:
switchports:
match: {name: "enp*"}
bonds:
bond0:
interfaces: [switchports]
addresses: [${IP}]
gateway4: ${ROUTE}
nameservers:
search: [${DNSSERVERSSEARCH}]
addresses: [${DNSSERVERS}]
EOF
fi
fi