亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在文本文件中替換$ {}占位符?

如何在文本文件中替換$ {}占位符?

慕尼黑5688855 2019-12-10 10:00:39
我想將“模板”文件的輸出通過管道傳遞到MySQL,該文件具有${dbName}散布的變量。替換這些實例并將輸出轉儲到標準輸出的命令行實用程序是什么?
查看完整描述

3 回答

?
慕尼黑8549860

TA貢獻1818條經驗 獲得超11個贊

更新資料

這是來自yottatsa的一個類似問題的解決方案,它僅替代$ VAR或$ {VAR}之類的變量,并且是簡短的單行代碼


i=32 word=foo envsubst < template.txt

當然,如果i和word在您的環境中,那只是


envsubst < template.txt

在我的Mac上,它看起來像是作為gettext的一部分并從MacGPG2安裝的


舊答案

這是mogsie在類似問題上的解決方案的改進,我的解決方案不需要escale雙引號,mogsie的需要,但是他只是一個襯里!


eval "cat <<EOF

$(<template.txt)

EOF

" 2> /dev/null

這兩種解決方案的強大之處在于,盡管反斜杠是一個擴展名,但您只會得到幾種類型的shell擴展,這些擴展通常不會發生$((...)),`...和$(...)。在這里轉義字符,但是您不必擔心解析存在錯誤,并且多行就可以了。

查看完整回答
反對 回復 2019-12-10
  • 3 回答
  • 0 關注
  • 1506 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號