【发布时间】:2013-11-27 14:37:57
【问题描述】:
deploy.sh
USERNAME="Tom"
PASSWORD="abc123"
FILE="config.conf"
sed -i "s/\PLACEHOLDER_USERNAME/$USERNAME/g" $FILE
sed -i "s/\PLACEHOLDER_PASSWORD/$PASSWORD/g" $FILE
config.conf
deloy="PLACEHOLDER_USERNAME"
pass="PLACEHOLDER_PASSWORD"
此文件将我在部署中定义的变量放入我的配置文件中。我无法获取文件,所以我想以这种方式放置我的变量。
问题
我想要一个通用的命令,以便使用某种 while 循环而不是每个变量都需要一个命令来处理 所有占位符变量。这意味着文件中以 placeholder_ 开头的任何术语都将尝试替换为已在 deploy.sh 中定义的变量的值
所有变量都应该设置并且不能为空。我想如果它找不到好的变量,是否有能力打印警告,但这不是强制性的。
【问题讨论】:
-
哦,别再说了,我不是已经在这里回答了吗:stackoverflow.com/a/20240668/548225
-
第一个不适用于通用示例,第二个查找所有实例但不进行任何替换。他们正在帮助我理解,但他们根本不是同一个问题。
-
我在原来的帖子中把问题说得更清楚了。
标签: linux bash shell sed debian