加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 16:31:27 所属栏目:安全 来源:网络整理
导读:我使用下面的代码替换一个字符串 在shell脚本内。 echo $LINE | sed -e 's/12345678/"$replace"/g' 但它被替换为$ replace而不是该变量的值。 任何人都能知道出了什么问题? 如果你想解释$ replace,你不应该使用单引号,因为它们阻止变量替换。 尝试: echo
我使用下面的代码替换一个字符串
在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(像/例如),因为它会导致混乱,除非转义。但是,如果,如你所说,你用另一个数字替换一个数字,这不应该是一个问题。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读