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