Заменить DNS в командной строке (вместо прямого редактирования /etc/dhcp/dhclient.conf)?

Если вы работаете в Linux, то самый простой способ добиться этого - использовать переименовать (который является частью пакета util-linux :

rename 'file1' 'newfile' file1*

Это подойдет то, что вы описали. переименование ожидает трех аргументов:

  1. что искать в имени файла
  2. что использовать в качестве замены
  3. маску файла для работы

Я быстро поискал на переименуйте , и это было первое обращение с примерами: http://linux.icydog.net/rename.php

ОБНОВЛЕНИЕ Если у вас нет переименовать в вашей системе, но у вас есть bash , тогда вы можете выполнить пакетное переименование следующим образом (это эквивалент переименовать , приведенный выше):

for f in file1*; do mv -v "$f" "${f/file1/newfile}"; done

0
03.05.2018, 03:20
1 ответ

Согласно комментарию @Patrick, вы можете сделать что-то вроде этого:

LINE='supersede domain-name-servers 1.1.1.1, 1.0.0.1;'
FILE=/etc/dhcp/dhclient.conf

grep -qF "${LINE}" "${FILE}" || echo ${LINE} | sudo tee --append "${FILE}"

Я надеялся/ожидал, что будет стандартный интерфейс через dhclientили аналогичный, но если работает, то работает.:-)

0
28.01.2020, 04:24

Теги

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