printf
может позаботиться об этом, почти:
printf "%s\0" "$a" "$b" "$c"...
printf
повторяет свою строку формата столько раз, сколько необходимо, в данном случае по одному разу для каждого аргумента, так что в итоге за каждым аргументом следует нулевой байт.
Чтобы избавиться от последнего нулевого байта, используйте GNUhead
:
printf "%s\0" "$a" "$b" "$c"... | head -c-1
Встроенная функция Zsh print
также может делать это без постобработки -:
print -rNn "$a" "$b" "$c"...
(-r
отключает обработку перехода, -N
печатает аргументы, разделенные и заканчивающиеся нулевыми байтами, -n
отключает терминальную новую строку. Спасибо steeldriver за подсказку!)
Просто погуглив файл update resolv.conf, я нашел множество результатов, многие из которых принадлежат этому же сообществу. Например:
Как настроить DNS, если файл resolv.conf перезаписывается?
Знание вашего дистрибутива поможет найти правильный. Например, это не работает на Bunsenlabs Lithium 3, основанном на Debian 10 -, но может помочь на чистом Debian 10.