Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要执行sed来替换do_install()中的${D}字符串_Sed_Yocto_Openembedded - Fatal编程技术网

需要执行sed来替换do_install()中的${D}字符串

需要执行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

我正在做一个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
}
错误:

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}/'