Bash 雙引號與單引號的區別

最近在 k8s 上解構別人的 Dockerfile,想要把一些變數參數化,不小心忽略了這個小細節,結果淹沒在巨大的指令海裡
經過一番追尋之後,才終於發現了這個小細節

下面我寫了一個簡單的測試,可以很明確地發現單引號與雙引號的差別

test.sh

1
2
3
4
v="100"

echo 'v=$v'
echo "v=$v"

output

1
2
3
$ sh test.sh
v=$v
v=100

希望這篇文章可以解救被同樣問題困擾的冤魂 🤣

bash 文件可以參考
https://www.gnu.org/savannah-checkouts/gnu/bash/manual/bash.html

也許你也會想看看