我有一个简单的sed替代文本文件:
sed -i 's/Temp_3/$t0/g' ./somefile.txt
当我在bash脚本中使用它时,所有都可以正常工作。 但是,如果我尝试使用同一行来自makefile , $ t(可能)扩展为空字符串 (makefile中没有名为t的变量)和 Temp_3替换为0.解决此问题的最佳方法是什么? 谢谢!
答案 0 :(得分:2)
首先做的是取代,
在您的情况下$t
没有任何内容,然后运行命令。
您可以或应该;)通过更改您的命令来解决此问题,如下所示:使用$
更改$$
;
make会将双$
符号替换为单个符号。
sed -i 's/Temp_3/$$t0/g' ./somefile.txt