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(像/例如),因为它会导致混乱,除非转义。但是,如果,如你所说,你用另一个数字替换一个数字,这不应该是一个问题。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |