Я работаю над скриптом для настройки сервера. В основном сценарий устанавливает несколько сервисов и копирует файлы конфигурации в место.
Я хотел бы заменить имя пользователя в одном из файлов конфигурации содержимым другого файла. Входной файл представляет собой одну строку текста, которая содержит имя пользователя. Файл конфигурации имеет несколько строк текста, но только одна строка относится к имени пользователя.
Как заменить имя пользователя конфигурационного файла на имя пользователя, сохраненное во входном файле?
Вы можете сохранить имя пользователя в переменной и использовать sed для изменения конфигурационного файла:
#! /bin/bash
username=$(< /path/to/username)
sed -i~ -e "s/username=XXX/username=$username/"
Конфигурационный файл в этом примере должен содержать строку username=XXX. Имя пользователя не должно содержать / (некоторые другие не буквенно-цифровые символы также могут быть проблематичными).
(Untested.)