需要执行sed来替换do_install()中的${D}字符串
我正在做一个yocto配方:需要执行sed来替换do_install()中的${D}字符串,sed,yocto,openembedded,Sed,Yocto,Openembedded,我正在做一个yocto配方: do_install () { install -d -m 755 ${D}/opt/intel sed -i 's/\/opt\/intel/\/TEST_PATH/' silent.cfg } 这将起作用,但我想在配方中将TEST_路径替换为${D},以下操作将失败: do_install () { install -d -m 755 ${D}/opt/intel sed -i 's/\/opt\/intel/${D}/' silent.cfg
do_install () {
install -d -m 755 ${D}/opt/intel
sed -i 's/\/opt\/intel/\/TEST_PATH/' silent.cfg
}
这将起作用,但我想在配方中将TEST_路径替换为${D},以下操作将失败:
do_install () {
install -d -m 755 ${D}/opt/intel
sed -i 's/\/opt\/intel/${D}/' silent.cfg
}
错误:
sed: -e expression #1, char 17: unknown option to `s'
我不知道yocto方面,我假设它为您替换了
${D}
,但是在sed中,替换命令可以使用任何分隔符,而不仅仅是/
。例如,如果变量${D}
不包含冒号:
,则可以使用该冒号:
sed -i 's:/opt/intel:${D}:' silent.cfg
${D}
是shell变量吗?给定代码D=arf;sed's/foo/${D}/'