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

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

我使用下面的代码替换shell脚本中的字符串。

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

但它正被替换成$replace而不是那个变量的值。

有人知道出了什么问题吗?


手掌心
浏览 2066回答 3
3回答

Helenr

如果你想解释$replace,您不应该使用单引号,因为它们阻止变量替换。试着:echo $LINE | sed -e "s/12345678/\"${replace}\"/g"假设你想把引号放进去。如果你别要使用引号,请使用:echo $LINE | sed -e "s/12345678/${replace}/g"谈话全文:pax> export replace=987654321pax> echo X123456789X | sed "s/123456789/${replace}/"X987654321X pax> _只是要小心确保${replace}没有任何有意义的特征sed(比如/因为除非逃脱,否则会造成混乱。但是,就像你说的那样,如果你用另一个数字代替一个数字,那就没有问题了。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python