Чтобы перезаписать каждый файл во всей иерархии каталогов содержимым файлаdata
:
find. -type f ! -path './data' -exec sh -c 'tee "$@" /dev/null' sh {} +
Если вы хотите добавить содержимое data
, используйте tee -a
выше.
! -path./data
позволяет избежать изменения файла, из которого мы читаем.
Дочерняя оболочка получит набор путей из find
и будет использовать tee
для распространения содержимого data
в эти файлы.
Чтобы использовать cat
вместоtee
:
find. -type f ! -path './data' -exec sh -c '
for pathname do
cat data >"$pathname"
done' sh {} +
Здесь, чтобы добавить данные, используйте >>
вместо >
.
Запустите это в безопасном каталоге. Запуск его в вашем домашнем каталоге уничтожит все ваши файлы. Чтобы восстановиться после этого, вам нужно будет восстановить из последней резервной копии. Никогда не запускайте команды, которые вы скопировали и вставили из Интернета, не зная, что они делают или могут делать.
Связанные:
См. Как передать параметры программе установки Debian (.deb)для получения информации о том, как задавать вопросы во время установки пакета.
Когда у вас есть нужные значения, передать их в файл .service
можно разными способами. Один из них — записать значения в папку -в файле, обычно/etc/systemd/system/yourservice.d/parameters.conf
(yourservice
должен соответствовать вашему сервису; parameters
может быть чем угодно, значимая часть — расширение .conf
). Такие вбросы -в файлы читаются после того, как юнит-файл и их содержимое добавляются в него; см. подробности вsystemd.unit
(или man systemd.unit
в вашей системе ).