【发布时间】:2016-09-03 01:41:00
【问题描述】:
我正在尝试从 shell 中替换一个字符串。我已经阅读了字符串,它在模板变量中。现在我试图用在shell中传递的参数替换存储在REPLACE_COMPANY变量中的companyId。我尝试了一些来自网络的解决方案,但没有成功。另外我想保持文件格式不变,因为我发现所有字符串都放在一行中。谁能帮忙。
REPLACE_COMPANY="companyId"
echo "$template"
##### Company: companyId CONFIG START #####
backend FE:spaces-companyId
redirect scheme https if !{ ssl_fc }
balance roundrobin
server 1-www spacesIp:80 check cookie s2
backend BE:synapse-companyId
redirect scheme https if !{ ssl_fc }
balance roundrobin
server 1-www synapseIp:8008 check cookie s2
##### Company: companyId CONFIG END #####
【问题讨论】:
-
令人困惑。你只需要
sed -i "/companyld/\$template/ filename所以你最终得到REPLACE_COMPANY="$template"吗?这是你的目标吗? -
你能提供预期的结果吗?
-
嗨,预期的刺激是,所有提到 companyId(在 $REPLACE_COMPANY 中声明)的文本(在 $template 中可用)都将替换为我在 shell 的 $1 中传递的参数,并将存储在又变了。格式也将保持不变。我不想先将其直接写入任何文件,因为需要完成其他工作。
标签: shell