Назад | Перейти на главную страницу

Как обновить текст в файле в сценарии оболочки Unix

Я создаю сценарий оболочки, которому необходимо обновить файл sudoers. В общем, я хочу добавить ": / usr / local / bin /" к следующему тексту в / etc / sudoers:

безопасный_путь = / sbin: / bin: / usr / sbin: / usr / bin

Мне нужно использовать sudo в команде, чтобы получить разрешения на изменение. Есть идеи, как я могу это сделать?

Так много способов!

Старый режим ожидания - sed: sed 's/\(secure_path.*\)/\1:\/usr\/local\/bin/' /etc/sudoers

Скрипты в vim может делать и продвинутые вещи. Любой процесс, который вы вводите в vim, можно сохранить в сценарий vim и воспроизвести.

Новейший инструмент, который действительно удобен для этого, - Augueas. Он часто используется с Puppet и структурирован вокруг редактирования файлов в структурированном виде. Таким образом, он осведомлен о контексте и иерархиях в текстовом файле.

лучше всего использовать: sed - редактор потока для фильтрации и преобразования текста