【发布时间】:2012-03-29 15:24:31
【问题描述】:
我正在尝试编写一个 bash 脚本(script.sh)来搜索和替换 input.sh 文件中的一些变量。但我只需要修改 variable_list 文件中存在的变量,其他变量保持原样。
变量列表
${user}
${dbname}
input.sh
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 表达式
script.sh
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"
【问题讨论】: