2015-09-29 48 views
-1

我想在我的食譜中使用以下代碼ruby_block,但由於'$'因爲它不工作。代碼找不到$NAME,但它可以找到NAME。你能給我一個解決方案嗎?

file.search_file_replace_line("DEFAULT=/etc/default/$NAME","DEFAULT=/etc/default/tomcat7") 

回答

2

search_file_replace_line預計作爲第一個參數的正則表達式。美元符號是正則表達式中的一個特殊符號,它基本上意味着行的末尾。所以如果你真的想用某種東西替代它,你必須妥善地逃避它。

這將做的工作:

file.search_file_replace_line("DEFAULT=/etc/default/\\$NAME","DEFAULT=/etc/default/tomcat7")