unix – 使用变量替换shell脚本中的字符串

前端之家收集整理的这篇文章主要介绍了unix – 使用变量替换shell脚本中的字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用下面的代码替换一个字符串
在shell脚本内。
echo $LINE | sed -e 's/12345678/"$replace"/g'

但它被替换为$ replace而不是该变量的值。

任何人都能知道出了什么问题?

如果你想解释$ replace,你不应该使用单引号,因为它们阻止变量替换。

尝试:

echo $LINE | sed -e "s/12345678/\"${replace}\"/g"

假设你想要的报价。如果你不想要的报价,使用:

echo $LINE | sed -e "s/12345678/${replace}/g"

成绩单:

pax> export replace=987654321
pax> echo X123456789X | sed "s/123456789/${replace}/"
X987654321X
pax> _

只要小心,确保$ {replace}没有任何意义的字符sed(像/例如),因为它会导致混乱,除非转义。但是,如果,如你所说,你用另一个数字替换一个数字,这不应该是一个问题。

猜你在找的Bash相关文章