尝试替换环境变量时,Linux sed命令不起作用
我有一个环境变量LIB_HOME=/etc/temp 在其中一个配置文件中,我尝试使用sed命令替换整行,如下所示尝试替换环境变量时,Linux sed命令不起作用,linux,sed,command,environment-variables,string-substitution,Linux,Sed,Command,Environment Variables,String Substitution,我有一个环境变量LIB_HOME=/etc/temp 在其中一个配置文件中,我尝试使用sed命令替换整行,如下所示 sed -i '/lib.home=/c\lib.home=$LIB_HOME' myconfig.properties 实际输出:lib.home=blablabla===>lib.home=$lib\u home 预期输出:lib.home=blablabla==>lib.home=/etc/temp 请帮助您尝试过使用双引号吗 sed -i '/lib.home=/c\li
sed -i '/lib.home=/c\lib.home=$LIB_HOME' myconfig.properties
实际输出:lib.home=blablabla
===>lib.home=$lib\u home
预期输出:lib.home=blablabla
==>lib.home=/etc/temp
请帮助您尝试过使用双引号吗
sed -i '/lib.home=/c\lib.home=‘“$LIB_HOME”' myconfig.properties
用双引号替换单引号“”“-您不允许shell替换。Kabanus,我尝试了如下命令==sed-i'/lib.home=/c\lib.home=$lib\u home'myconfig.properties==输出仍然是“lib.home=$lib\u home”。请帮助我使用commandYes.Vikram.output是lib.home=“$lib\u home”“。但预期的输出是lib.home=/ect/temp,GNU sed:
lib_home=“/etc/temp”;sed-Ei的|(lib.home=).*.\1'$lib_home'''myconfig.properties
对我来说,它起了作用,可能是使用移动设备的引用是错误的#cat>myconfig.properties lib.home=#lib_home=“/etc/temp”;sed-i'/lib.home=/c\lib.home='“$lib_home”myconfig.properties#cat myconfig.properties lib.home=/etc/temp
sed--version sed(GNU sed)4.2.2
谢谢Cyrus。。你的建议对我有用谢谢Vikram提出的宝贵建议。。