('cd /etc/squid/ && new_val=9 && old_val=3 && sed -i "s/$old_val/$new_val/g" *.conf')


这给我一个错误


  ExecutionError:sed:-e表达式#1,char 0:没有以前的正则表达式


我不确定是什么问题。

上面的代码正在Python脚本中使用。

最佳答案

更改为:

('cd /etc/squid/ && new_val=9 && old_val=3 && sed -i "s/$old_val/$new_val/g" *.conf')


变量赋值必须是与sed分开的语句。将变量赋值放在语句的开头时,它只会设置一个由子进程继承的环境变量。但是,您需要使用原始shell扩展变量,因此需要在执行sed命令之前设置变量。

09-25 18:17
查看更多