Я пытаюсь написать сценарий bash (script.sh) для поиска и замены некоторых переменных в файле input.sh. Но мне нужно изменить только те переменные, которые присутствуют в файле variable_list, а остальные оставить как есть.
${user}
${dbname}
username=${user}
password=${password}
dbname=${dbname}
username=oracle
password=${password} > This line won't be changed as this variable(${password}) is not in variable_list file
dbname=oracle
Ниже приведен сценарий, который я пытаюсь использовать, но не могу найти правильное выражение sed
export user=oracle
export password=oracle123
export dbname=oracle
variable='variable_list'
while read line ;
do
if [[ -n $line ]]
then
sed -i 's/$line/$line/g' input.sh > output.sh
fi
done < "$variable"