('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
命令之前设置变量。