我正在構建一個bash腳本,我想用「WORD」替換「$ {PRODUCT_NAME}」。 問題是「$」,在bash $代表的參數,所以當我運行該腳本
echo "Replace ${PRODUCT_NAME} with $1 in document.txt"
for file in $(grep -il ${PRODUCT_NAME} ~/Documents/tmp/document.txt)
do
sed -e "s/${PRODUCT_NAME}/$3/g" $file > /tmp/tempfile.tmp
mv /tmp/tempfile.tmp $file
done
腳本識別$ {PRODUCT_NAME}作爲參數,並沒有像我想更換一個字。我如何使其認識到「$ {PRODUCT_NAME}」是一個詞而不是一個參數,因此我可以將其替換?
您可能想要提及的是,您想要替換*文字*出現的$ {PRODUCT_NAME}而不是該* Bash變量的值* ... – l0b0 2012-03-27 13:49:56
這就是我使用引號的原因。 – bruno 2012-03-27 17:14:07