为了账号安全,请及时绑定邮箱和手机立即绑定

sed脚本中的Shell变量

sed脚本中的Shell变量

慕田峪7331174 2019-12-04 10:54:26
sed命令在命令提示符下按预期工作,但在Shell脚本中不起作用。new_db_name=`echo "$new_db_name" | sed 's/$replace_string/$replace_with/'`为什么会这样,我该如何解决?
查看完整描述

3 回答

?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

在sed表达式中使用双引号。


new_db_name=`echo "$new_db_name" | sed "s/$replace_string/$replace_with/"`


查看完整回答
反对 回复 2019-12-04
?
千巷猫影

TA贡献1829条经验 获得超7个赞

如果您使用bash,这应该可以工作:


new_db_name=${new_db_name/$replace_string/$replace_with}


查看完整回答
反对 回复 2019-12-04
?
呼如林

TA贡献1798条经验 获得超3个赞

伙计们:我使用以下代码使用sed将bash变量传递给bash脚本中的函数。即,我将bash变量传递给sed命令。


#!/bin/bash                            

function solveOffendingKey(){


    echo "We will delete the offending key in file: $2, in line: $1"

    sleep 5

    eval "sed -i '$1d' $2"

}



line='4'

file=~/ivan/known_hosts

solveOffendingKey $number $file

亲切的问候!


查看完整回答
反对 回复 2019-12-04
  • 3 回答
  • 0 关注
  • 1011 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信