php-sed-exec不会更改文件中的$variable


php sed exec will not change $variable in a file

我正在开发一个php脚本,该脚本使用sed将文件中的值更改为php脚本中的$value。这是我的代码:

$value = red;
$color_change = exec('sed -i '.escapeshellarg('s/color-name=.*/color-name=$value/g')." /home/user/color.props");
echo "$color_change";

sed没有将文件中的颜色名称更改为红色,而是将其更改为$value。所以我在文件中得到了colorname=$value,而不是colorname=red。就好像sed在我的脚本中没有看到$value=red部分。

在字符串周围使用"而不是""

"允许变量替换,其中as'将写入的值放入。