0
裏面工作,我有一個sed命令像這樣註釋掉基於特定模式的特定線路:我的sed命令不是shell腳本
sed -e '/$OLD_VERSION/ s/^#*/#/' -i /ws/usernam/workspace/scripts/raw-vobs-config-spec
在這裏,我們需要註釋掉包含$OLD_VERSION
行。我在shell腳本中通過了$OLD_VERSION
作爲參數。
裏面工作,我有一個sed命令像這樣註釋掉基於特定模式的特定線路:我的sed命令不是shell腳本
sed -e '/$OLD_VERSION/ s/^#*/#/' -i /ws/usernam/workspace/scripts/raw-vobs-config-spec
在這裏,我們需要註釋掉包含$OLD_VERSION
行。我在shell腳本中通過了$OLD_VERSION
作爲參數。
當您在shell中使用單引號時,它會阻止普通變量擴展,因此$OLD_VERSION
將不會擴展。由於您沒有任何其他字符需要轉義,因此修復應該像使用雙引號一樣簡單:
sed -e "/$OLD_VERSION/ s/^#*/#/" -i /ws/usernam/workspace/scripts/raw-vobs-config-spec
感謝你使用雙引號的陳述 – panda
它在控制檯中工作嗎? – Thanga
請參閱:[bash中單引號和雙引號之間的區別](http://stackoverflow.com/q/6697753/3776858) – Cyrus
'sed命令就像這樣'!='this sed command'。猜猜需要哪一個來幫助解決您在給定命令時遇到的問題。你發佈的命令將不會**做你想做的事,無論你從哪裏調用它。 –