Что я хочу:
Существует файл /scripts/backup/config.cfg
, который содержит переменные. В моем конкретном случае c важными являются:
BACKUPLOCATION=""
ROOTLOCATION="/backup"
Тогда есть сценарий /scripts/backup/performBackup.sh
По определенной причине c я хочу, чтобы часть скрипта выполняла следующие операции:
- считывание значения переменной
ROOTLOCATION
- add a ("/" и ) отметка времени (Дата и время)
- сохранит новое созданное значение в
BACKUPLOCATION
(заменив его текущее значение)
Пример
Если это предыдущее состояние config.cfg
:
BACKUPLOCATION="dummy"
ROOTLOCATION="/backup"
После запуска скрипта должно быть:
BACKUPLOCATION="/backup/2020-05-02-23-00"
ROOTLOCATION="/backup/"
Что я пробовал
Прежде всего файл конфигурации "загружается" используя
source /scripts/backup/config.cfg
Затем я попытался использовать команду sed
, но кавычки мне мешают. Вот одна попытка (которая не сработала):
sed -i 's/BACKUPLOCATION\=.*/BACKUPLOCATION="'$ROOTLOCATION/$(date +%Y-%m-%d-%H-%M)'"/' /scripts/backup/config.cfg