我正在开发一个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'将写入的值放入。