0
要通过文件与单个命令运行,并且与所述外壳脚本中定义的变量替代配置文件中的占位符的变量。
要求
- 我不想源配置文件,因为我已经试过了,它不工作。
- 一个命令来为任何占位符变量工作(即在本例中这两个用户名和密码)
当前尝试
deploy.sh
USERNAME="tom"
PASSWORD="secret"
sed 's/\$PLACEHOLDER_/\$/g' test.conf
测试.conf
deploy="$PLACEHOLDER_USERNAME"
credentials="$PLACEHOLDER_PASSWORD"
问题
- 目前,它改变了 “$ PLACEHOLDER_USERNAME” 到 “$ USERNAME”
- 我希望它改变 “$ PLACEHOLDER_USERNAME” 到 “汤姆”
嗨,谢谢你。我认为这是将deploy.sh写入test.conf,但我真正想要做的是用deploy.sh中的占位符变量的值覆盖test.conf。 – Jimmy
这会将'test.conf'更改为stdout。你可以这样做:'awk -F'[=“]''FNR == NR {a [”\ $ PLACEHOLDER_“$ 1”= $ 3; next} {print $ 1“= \”“a [$ 3] “\”“}'deploy.sh test.conf> _tmp && mv _tmp test.conf'在'test.conf'中获取更改的值 – anubhava