Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.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
尝试替换环境变量时,Linux sed命令不起作用_Linux_Sed_Command_Environment Variables_String Substitution - Fatal编程技术网

尝试替换环境变量时,Linux 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

我有一个环境变量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\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提出的宝贵建议。。