Хост настроен как с resolvconf, так и с dnsmasq, перезапуск dnsmasq продолжает указывать на старые серверы

Использование /bin/shи списка позиционных параметров для хранения имен отсутствующих файлов:

set --
i=1
while [ "$i" -le 1000 ]; do
    name="File.$i.exe"
    [[ ! -e "$name" ]] && set -- "$@" "$name"
    i=$(( i + 1 ))
done

( IFS=','; printf 'Missing files: %s\n' "$*" )

или используя bashи массив:

missing=()
for (( i=1; i<=1000; ++i )); do
    name="File.$i.exe"
    [[ ! -e "$name" ]] && missing+=( "$name" )
done

( IFS=','; printf 'Missing files: %s\n' "${missing[*]}" )

При использовании "$*"или "${missing[*]}"массив будет преобразован в строку. Строка будет объединена с первым символом $IFSв качестве разделителя (по умолчанию пробел ). Подоболочка устанавливает IFSв запятую, а затем печатает массив, соединенный запятыми. Подоболочка предотвращает установку переменной IFSв остальной части скрипта.

Код также сможет работать с именами файлов, содержащими пробелы и т. д.

0
23.12.2019, 19:41
1 ответ

Я решил остановить resolvconfи заметил, что после перезапуска dnsmasqв /var/run/dnsmasq/resolv.confзаписываются/используются правильные серверы имен.

0
28.01.2020, 02:59

Теги

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